1. 程式人生 > >點選外部連結跳轉App指定頁面SingleTask模式

點選外部連結跳轉App指定頁面SingleTask模式

1.上一篇講到如何點選外部連結跳轉app的方法,經過測試,當開啟App的時候,點選連結時候會重新開啟一個新的App程序,如果你想從原來的開啟APP跳進去,那麼使用SingleTask模式配合android:taskAffinity屬性一起使用.

   如果單獨使用Singletask啟動模式時候你發現點選跳連結只會跑到App的MainActivity中.

  Intent i_getvalue = getIntent();
        String action = i_getvalue.getAction();


        if(Intent.ACTION_VIEW.equals(action)) {


            Uri uri = i_getvalue.getData();
            if (uri != null) {
                String id = uri.getQueryParameter("id");
                Log.d("TAg",id);


                Intent intent = new Intent();
                intent.setClass(this, BorrowDetailsActivity.class);
                intent.putExtra(EXTRA_KEY_2, id);
                startActivity(intent);


            }
        }

裡面action為null,uri 是null 根本接受不到外部通過協議scheme裡面傳進來的uri ,

解決方案:

在Appcation裡面配置 android:taskAffinity

 <application
        android:name=".AppApplication"
        android:allowBackup="true"
        android:icon="@mipmap/icon"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:taskAffinity="com.cfiigroup.zhehui.hepaidai"
        android:theme="@style/AppTheme.NoActionBar">

主函式Mian裡面啟動模式設為singletask

在跳轉MianActivity裡面從寫OnIntent方法在裡面從新接受

 Uri uri = i_getvalue.getData();方法

繼續解析,寫跳轉方法這樣子就可以開啟一個APP,而不是開2個程序,提高使用者體驗.

在android手機程序開多了影響手機流暢度,導致手機APP使用時介面卡住,不順.