點選外部連結跳轉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使用時介面卡住,不順.