点击外部链接跳转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使用时界面卡住,不顺.



猜你喜欢

转载自blog.csdn.net/dhl006009/article/details/55051202