Android 跨應用調用Activity及Service
如何調用另外一個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>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!