快捷搜索: 王者荣耀 脱发

微信weixin://xxx 分析

协会说明:

<activity
   android:name="com.tencent.mm.plugin.base.stub.WXCustomSchemeEntryActivity"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:excludeFromRecents="true"
    android:exported="true"
    android:launchMode="singleTop"
    android:taskAffinity=".wxpayentry"
    android:theme="@style/mm">
    <intent-filter>
        <data android:scheme="weixin" />
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
    </intent-filter>
</activity>

内部处理

1.获取携带数据

Uri data = getIntent().getData();

if (data != null) {
    String scheme = data.getScheme();
    String host = data.getHost();
    String query = data.getQuery();

    Log.i("MicroMsg.WXCustomSchemeEntryActivity", String.format("uri is %s,scheme is %s, host is %s, query is %s", data.toString(), scheme, host, query));
}
Uri data = getIntent().getData(); if (data != null) { String scheme = data.getScheme(); String host = data.getHost(); String query = data.getQuery(); Log.i("MicroMsg.WXCustomSchemeEntryActivity", String.format("uri is %s,scheme is %s, host is %s, query is %s", data.toString(), scheme, host, query)); }

2.判断是否合法

// 校验是否非法
if (data != null) {
    String uri = data.getScheme() + "://" + data.getHost() + data.getPath();
    // qby详情看问末附录
    if (!qby.containsKey(uri) && !data.toString().startsWith("weixin://dl/business")) {
       return;
    }
}
// 校验是否非法 if (data != null) { String uri = data.getScheme() + "://" + data.getHost() + data.getPath(); // qby详情看问末附录 if (!qby.containsKey(uri) && !data.toString().startsWith("weixin://dl/business")) { return; } }

3.进行跳转

所有协议

协会说明: 内部处理 1.获取携带数据 Uri data = getIntent().getData(); if (data != null) { String scheme = data.getScheme(); String host = data.getHost(); String query = data.getQuery(); Log.i("MicroMsg.WXCustomSchemeEntryActivity", String.format("uri is %s,scheme is %s, host is %s, query is %s", data.toString(), scheme, host, query)); } 2.判断是否合法 // 校验是否非法 if (data != null) { String uri = data.getScheme() + "://" + data.getHost() + data.getPath(); // qby详情看问末附录 if (!qby.containsKey(uri) && !data.toString().startsWith("weixin://dl/business")) { return; } } 3.进行跳转 所有协议
经验分享 程序员 微信小程序 职场和发展