URL打开android 应用并且附带数据

在需要被打开的activity的配置节点内添加intent-filter

            <intent-filter>
                <data
                    android:scheme="@string/link_scheme_name"
                    android:host="@string/link_host"
                     />
                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />
                <action android:name="android.intent.action.VIEW" />
            </intent-filter>

在被打开的activity中获取数据

        // 获取schema
        Intent intent = this.getIntent();
        String schema = intent.getScheme();
        Uri uri = intent.getData();
        if((schema !=null ) && schema.equals(getString(R.string.link_scheme_name)) && (uri != null)){
            String value = uri.getQueryParameter("id") + uri.getQueryParameter("nickname") + uri.getQueryParameter("packgename");
            System.out.println(value);
            Toast.makeText(mContext, value, Toast.LENGTH_LONG).show();
        }

url例子"cz365://m.cz365.com?id=1234&nickname=John&packgename=com.qixiao.app"

    <string name="link_scheme_name">cz365</string>
    <string name="link_host">m.cz365.com</string>
<a href="cz365://m.cz365.com?id=1234&nickname=John&packgename=com.qixiao.app">测试</a>

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。