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

2018-01-08  本文已影响0人  Lucky丶夏日

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"

上一篇下一篇

猜你喜欢

热点阅读