作者:mobiledu2502890297 | 来源:互联网 | 2023-08-17 03:05
打开一个Activity的Intent设置和目标Activity的intent-filter配置是一一对应的。首先看一个Activity的intent-filter的配置:
打开一个Activity的Intent设置和目标Activity的intent-filter配置是一一对应的。
首先看一个Activity的intent-filter的配置:
<activity
android:name=".InexplicitConfigActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="https">data>
<data android:scheme="svn">data>
intent-filter>
<intent-filter>
<action android:name="customAction"/>
<category android:name="android.intent.category.DEFAULT"/>
intent-filter>
activity>
该配置表明该Activity在两种情况下能打开(隐式意图,显式意图不讨论):
1、使用系统标准动作android.intent.action.VIEW,默认范畴,且必须设置附加数据,数据的模式必须类似于“https://....”或“svn://...”;
2、使用自定义动作customAction,默认范畴,可以不设置附加数据;
对应的打开该Activity的代码如下:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://www.baidu.com"));
intent.addCategory(Intent.CATEGORY_DEFAULT);
startActivity(intent);
Intent intent = new Intent();
intent.setAction("customAction");
intent.addCategory(Intent.CATEGORY_DEFAULT);
startActivity(intent);