所谓的显示intent就是我们常用的Intent.setclass(xxx.this,xxx.class)等
隐式Intent则是可以直接通过androidMainfest中的<intent-filter> 启动activity
<activity android:name=".Intent1_test"> <intent-filter> <category android:name="android.intent.category.DEFAULT"></category> <action android:name="Intent1"></action> </intent-filter> </activity>
启动时候,也可以用一个静态常量来表示
startActivity(new Intent("Intent1")); //或者
startActivity(new Intent(Intent1_test.ACTION));//Intent1_test为activity的名,ACTION为常量:public static final String ACTION = "Intent1";
隐式Intent更重要的还是可以启动别的APP的活动页面,只需要将Intent1改为对应的名称即可
startActivity(new Intent("Intent1"));
关于名字的命名法也是有 包名 +intent.action + activity名
如果你要明确拒绝被别的app启动某一个活动,需要在mainFest的活动标签中写明exported="false"
<activity android:name=".Intent1_test" android:exported="false"> <intent-filter> <category android:name="android.intent.category.DEFAULT"></category> <action android:name="Intent1"></action> </intent-filter>
时间: 2024-11-16 01:09:00