协会说明:
<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.进行跳转 所有协议