一.显式Intent和隐式Intent
1.显式Intent的用法:(实现从FirstActivity到SecondActivity的跳转)
(1)直接在FirstActivity加入下面的代码:
//显式Intent的使用
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(intent);
2.隐式Intent的基本用法:(实现从FirstActivity到SecondActivity的跳转)
(1)首先,在AndroidManifest.xml文件中找到SecondActivity的注册位置,加入以下代码,其中这里的action的值是自己可以定义的,格式可为“包名.自己定义的常量值”,这里的category的值也是可以修改为自己定义的,格式可为“包名.自己定义的常量值”。
<activity
android:name=".SecondActivity"
android:exported="false">
<intent-filter>
<action android:name="com.example.myapplication.MY_TEST"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
(2)其次,在FirstActivity中写入以下代码,如果category的值也是可以修改为自己定义的,那么需要再加上intent.addCategory("包名.自己定义的常量值")即可。
//隐式Intent的使用
Intent intent = new Intent("com.example.myapplication.MY_TEST");
startActivity(intent);
3.隐式Intent的其它用法:
(1)在FirstActivity中使用隐式Intent跳转到百度的搜索页面,代码如下所示,这里面的action值是固定的,是系统内部专属于每一个响应的值(还可以通过隐式Intent跳转到拨打电话等页面等,这里就不一一举例了)。
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://www.baidu.com"));
startActivity(intent);
(2)FirstActivity的启动其实也是隐式Intent的一种,可以看一下作为程序入口Activity的FirstActivity的注册代码。
<activity
android:name=".FirstActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>