显式隐式Intent在活动中穿梭

Intent是Android程序中各组件之间进行交互的一种重要方式,不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般可被用于启动活动、启动服务以及发送光比等场景。可以通过Intent从一个活动跳转到另外一个活动,实现活动和活动之间的交换。


一、显式Intent

Button button3 = (Button) findViewById(R.id.button3);
button3.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        //第一个参数为启动活动的上下文,第二个为需要启动的目标活动
        Intent intent = new Intent(Main2Activity.this,Main23Activity.class);
        startActivity(intent);//启动目标活动
    }
});



二、隐式Intent

在配置文件AndroidManifest.xml中,配置一些activity的参数,通过这些行为参数来让Android来判断是否启动这个活动。需要同时满足这些条件才会激活这个活动。category是可以添加多个的。

<activity android:name=".Main23Activity">
    <intent-filter>
        <action android:name="group.chicai.study.ACTION_START"></action>
        <category android:name="android.intent.category.DEFAULT"></category>
    </intent-filter>
</activity>
Button button4 = (Button) findViewById(R.id.button4);
button4.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent intent = new Intent("group.chicai.study.ACTION_START");
        intent.addCategory("android.intent.category.DEFAULT");
        startActivity(intent);
    }
});

首页 我的博客
粤ICP备17103704号