问题小结(21)--通过action启动另外一个apk里的Activity
在工作中,我们可能会遇到一种情况,一个机子上有我们的两个应用,它们之间可能需要启动对方的某个Activity来做些事情。除了通过包名去启动以外,还有一个更为方便的方式,那就是通过隐式的发起我们需要的Activity。
假如:apk甲想启动apk乙的activityB,那么我们要做两件事情
一、在apk乙的AndroidManifest.xml声明activityB的地方加入如下部分:
<activity android:name=".ControlSelectedActivity" <intent-filter> <action android:name="com.settings.start" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
上面定义的action就是我们发起时需要的东东。
二、当然就是在apk甲里启动apk乙的activityB的方法了,如下:
Intent intent = new Intent("com.settings.start"); startActivity(intent); 我们在apk甲里需要发起的地方使用上面的方式就可以了。