通过网页唤起App某个界面,并传递数据

1.Activity清单文件的配置

<activity android:name=".activity.SplashActivity"
            android:theme="@style/Splash"
            android:windowSoftInputMode="adjustNothing" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>

            <!--我是配置-->
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <data
                    android:scheme="zxyp"
                    android:host="test" />
            </intent-filter>
            <!--我是配置-->
        </activity>

说明:本例中唤起链接为:zxyp://test?id=1,scheme、host是h5链接的组成部分

2.界面中接受传递过来的参数

Intent intent= getIntent();
                String action = intent.getAction();
                if (Intent.ACTION_VIEW.equals(action))
                {
                    Uri data = intent.getData();
                    if (data != null)
                    {
                        //获取参数id的值
                        String id = data.getQueryParameter("id");
                        Loge("id:"+id);
                        if (!isEmpty(MySharedPreference.getUserId()))
                        {
                            jump2Activity(id,CutGoodsDetailActivity.class);
                            finish();
                        }
                        else
                        {
                            toast("砍价前请先登录");
                            jump2Activity(LoginActivity.class);
                            finish();
                        }
                    }
                }

说明,获取参数id的值如上图所示,如果想传更多值请在后面加"&aaa=bbb"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容