本文主要是介绍【flutter h5微信开放标签拉起app】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
分享到微信的h5网页中点击调起app
1.引入第三方包fluwx:3.13.1
2.在app首页注册微信开放sdk、调用获取开放标签的方法
_initFluwx() async {//注册await registerWxApi(appId: 'wxadlklakd5dkl6', doOnIOS: false);_getWxMsg();}//获取开放标签信息_getWxMsg() async {String wxMsg = await getExtMsg();if(wxMsg !=null){Map<String, dynamic> dataMap;if(wxMsg.contains('extmsg=')){String data = wxMsg.split("extmsg=")[1];dataMap = json.decode(data);}else{dataMap = json.decode(wxMsg);}var cateId = dataMap['cateId'];var articleId = dataMap['articleId'];if(cateId == 34 || cateId == '34'){if(mounted){//获取到需要的信息后跳转详情NavigatorUtil.push(PromotionPostDetail(id: '$articleId'));}}}}//调用==============void initState() {_initFluwx();}void didChangeAppLifecycleState(AppLifecycleState state) {// TODO: implement didChangeAppLifecycleStatesuper.didChangeAppLifecycleState(state);switch(state){case AppLifecycleState.inactive:print('======inactive');break;case AppLifecycleState.resumed:print('======resumed');_getWxMsg();break;case AppLifecycleState.paused:print('======paused');break;case AppLifecycleState.detached:print('======detached');break;}}
3.使用fluwx拉起flutter白屏问题
在app的AndroidMainfest.xml中添加
在这里插入代码片
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.jarvan.fluwx_example">//这个=======(缺少这个导致白屏)<queries><intent><action android:name="${applicationId}.FlutterActivity" /></intent></queries><uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><applicationandroid:name="${applicationName}"android:icon="@mipmap/ic_launcher"android:label="fluwx_example">//这个=======<meta-dataandroid:name="weChatAppId"android:value="12345678" />//这个=======<meta-dataandroid:name="handleWeChatRequestByFluwx"android:value="true" /><activityandroid:name=".MainActivity"android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"android:hardwareAccelerated="true"android:launchMode="singleTop"android:exported="true"android:theme="@style/LaunchTheme"android:windowSoftInputMode="adjustResize"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter>//这个=====<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" />//这个=======<dataandroid:host="${applicationId}"android:path="/"android:scheme="wechatextmsg" /></intent-filter></activity><meta-dataandroid:name="flutterEmbedding"android:value="2" /></application>
</manifest>
这篇关于【flutter h5微信开放标签拉起app】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!