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>

 

posted on 2014-12-31 16:59  刘豆  阅读(538)  评论(0编辑  收藏  举报

导航