android 第三方拉起應用的實現。
阿新 • • 發佈:2019-01-10
基於廣播去實現的,自己定義一個廣播並將其註冊到AndroidManifest.xml中,加上對應的action,在程式碼中接收到這個廣播後啟動我們的應用。這樣做有個小問題,就是第三方拉起的時候必須我們應用啟動了一次後才能正常拉起,是因為我們的應用沒有做開機自啟動吧。
好了,先上接收廣播的程式碼。
public class MyReceiver extends BroadcastReceiver { private static final String TAG = "MyReceiver"; @Override public void onReceive(Context context, Intent intent) { LogTrace.i(TAG, "MyReceiver onReceive--->" + ",action = " + intent.getAction()); if (null != intent) { if("com.android.test.action".equals(intent.getAction())) { //TODO: 接收到對應廣播,啟動我們的初始頁面。 } } } }
別忘了將MyReceiver註冊到AndroidManifest中並新增對應的action,可以新增多個action,根據需要做出不同的處理。
<receiver android:name="MyReceiver"> <intent-filter> <action android:name="com.android.test.action"/> <action android:name="com.android.local.action"/> </intent-filter> </receiver>
第三方拉起的動作就很簡單了,傳送對應action的廣播即可。
Intent i = new Intent();
i.setAction("com.android.test.action");
sendBroadcast(i);
親自試驗過了,是可以實現第三方拉起的。