如何调用另外一个app应用的activity或者service,本文提供一个验证可行的方法。
调用方法:
Intent intent=new Intent("youActionName");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.putExtra("type",inType); //if needed
ComponentName cn=new ComponentName("applicationPackageName","packagename+classname");
intent.setComponent(cn);
startActivity(intent);
在被调用的App里面需要定义 class (activity 或 service)属性和filter。需要明确的几点
- 如果不是action.Main,则需要主动申明android:exported="true",允许外部访问
- action name 要一致
- category name要一致,如果调用的地方没有明确声明,被调用的地方要声明DEFAULT
<activity android:name=".pbap.BluetoothPbapLuancherActivity"
android:label="Bluetooth"
android:exported="true"
android:process="@string/process">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
本文介绍如何在Android应用中通过Intent调用另一个应用的Activity或Service,包括设置Intent参数、定义目标应用内的class属性和filter等关键步骤。确保外部访问时需明确声明android:exported属性为true,以实现跨应用的无缝交互。
513

被折叠的 条评论
为什么被折叠?



