问题背景:
APP分享web页面到微信好友后,用户可以通过分享的web页面打开APP,并根据extinfo参数打开对应的APP原生页面;
为了实现以上需求,
选用使用wx-open-launch-app
开放标签打开APP的技术方案
Flutter项目的pubspec.yaml中引用了 fluwx_no_pay: ^3.13.1
插件,
解决方案:
AndroidManifest.xml
中没有配置缺少配置相关参数,
在AndroidManifest.xml中给你的Activity加上一个标签:
<intent-filter>
<action android:name="${applicationId}.FlutterActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="${applicationId}"
android:path="/"
android:scheme="wechatextmsg" />
</intent-filter>
与此同时,你还需要在需要在application中加上,把你的appId放进去:
<meta-data
android:name="weChatAppId"
android:value="12345678" />
AndroidManifest.xml文件内容如下:
<application>
<activity android:name=".MainActivity"
android:exported="true">
<!-- fluwx插件: wx-open-launch-app 标签-->
<intent-filter>
<action android:name="${applicationId}.FlutterActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<!--微信SDK Deep Link -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="${applicationId}"
android:path="/"
android:scheme="wechatextmsg" />
</intent-filter>
</activity>
<!-- 微信appId配置-->
<meta-data
android:name="weChatAppId"
android:value="12345678" />
<!-- 微信请求处理是否交给fluwx-->
<meta-data
android:name="handleWeChatRequestByFluwx"
android:value="true" />
</application>
参考文献:
fluwx文档