通过网页打开App并传递参数

如果想要从网页中打开App,只要在AndroidManifest.xml文件中设置Activity的相关属性则可,具体如下:

<activity

    android:name=".StartActivity">


    <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.BROWSABLE" /><data android:scheme="weixin" android:host="gameforums" android:pathPrefix="/message"/>
    </intent-filter>


</activity>

这里想要注意的是,如果这个Activity同时也是App的启动页面的话,intent-filter不能同时放在一块。

接下来就是在StartActivity里面获取数据了,获取传递过来的参数代码如下:

Intent intent = getIntent();

String scheme = intent.getScheme();
Log.i(TAG, "scheme:" + scheme);

if (uri != null) {

    String host = uri.getHost();
    Log.i(TAG, "host:"+host);

    String dataString = intent.getDataString();

    Log.i(TAG, "dataString:" + dataString);

    String param2 = uri.getQueryParameter("param2");

    Log.i(TAG, "param2:" + param2);

    String path = uri.getPath();
    Log.i(TAG, "path:" + path);
    String encodedPath = uri.getEncodedPath();
    Log.i(TAG, "encodedPath:" + encodedPath);
    String queryString = uri.getQuery();

}

接下来是测试,写一个简单的html来进行测试:

<a href="weixin://gameforums/message?param=456">打开App</a>

测试结果如下图:
这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值