Intent

作者: Amy木婉清 | 来源:发表于2020-09-28 15:36 被阅读0次
//显示跳转
                Intent intent = new Intent(MainActivity.this,SecondActivity.class);
                startActivity(intent);*/

   //隐式跳转 1
                Intent intent = new Intent("com.activitytest.ACTION_START");
                intent.addCategory("com.activitytest.MY_CATEGORY");
                startActivity(intent);*/
  // 隐式跳转2
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setData(Uri.parse("http://www.baidui.com"));
                startActivity(intent);*/

  //隐式跳转3
                Intent intent = new Intent(Intent.ACTION_DIAL);
                intent.setData(Uri.parse("tel:10086"));
                startActivity(intent);
//吐司
Toast.makeText(MainActivity.this, "You clicked Button 1", Toast.LENGTH_SHORT).show();
//销毁程序
finish();  

两个activity之间的数据交互
第一个activity:

  @Override
            public void onClick(View view) {
                //向下一个activity传递数据
                String data = "Hello SecondActivity";
                Intent intent = new Intent(MainActivity.this,SecondActivity.class);
                intent.putExtra("extra_data",data);
                startActivity(intent);
            }
        });

第二个activity:

   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        //从上一个Activity中取数据
        Intent intent = getIntent();
        String data = intent.getStringExtra("extra_data");
        Log.d("SecondActivity",data);
    }

startActivityForResult():
MainActivity:

  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mBtn1 = findViewById(R.id.btn1);
        mBtn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this,SecondActivity.class);
                startActivityForResult(intent,1);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode) {
            case 1:
                if (requestCode == RESULT_OK) {
                    String returnedData = data.getStringExtra("data_return");
                    Log.d("MainActivity", returnedData);
                }
                break;
            default:
        }
    }

SecondActivity:

  private Button mBtn2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        mBtn2 = findViewById(R.id.btn2);
        mBtn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent();
                intent.putExtra("data_return","Hello MainActivity");
                setResult(RESULT_OK,intent);
                finish();
            }
        });

相关文章

网友评论

    本文标题:Intent

    本文链接:https://www.haomeiwen.com/subject/ahyxsktx.html