您的位置:首页 > 移动开发

点击外部链接跳转App指定页面SingleTask模式

dhl006009 2017-02-13 18:04 53 查看
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使用时界面卡住,不顺.
标签: