1. 程式人生 > >android 第三方拉起應用的實現。

android 第三方拉起應用的實現。

基於廣播去實現的,自己定義一個廣播並將其註冊到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);

親自試驗過了,是可以實現第三方拉起的。