From d87f846d67a35374922d47f0e8fe019ec1b60e7a Mon Sep 17 00:00:00 2001
From: Weller <1812208341@qq.com>
Date: Wed, 25 Nov 2020 18:43:50 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AE=89=E5=8D=93moblink?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../android/app/src/main/AndroidManifest.xml | 2 +-
.../MainActivity.java | 44 +++++++------
.../MyFlutterApplication.java | 16 +++++
lib/pages/home_page/home_page.dart | 65 ++++++++++++-------
4 files changed, 83 insertions(+), 44 deletions(-)
create mode 100644 example/android/app/src/main/java/cn/zhios/zhiying_base_widget_example/MyFlutterApplication.java
diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml
index 70a64fa..81ce7ed 100644
--- a/example/android/app/src/main/AndroidManifest.xml
+++ b/example/android/app/src/main/AndroidManifest.xml
@@ -25,7 +25,7 @@
params, ZhiyingFlutterCommHandler handler) {
- return;
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
- ZhiyingFlutterCommNative.getInstance().unregist();
- }
+ return map;
+ }
+
+ @Override
+ public void invokeMethod(String method, Map params, ZhiyingFlutterCommHandler handler) {
+ return;
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ ZhiyingFlutterCommNative.getInstance().unregist();
+ }
}
diff --git a/example/android/app/src/main/java/cn/zhios/zhiying_base_widget_example/MyFlutterApplication.java b/example/android/app/src/main/java/cn/zhios/zhiying_base_widget_example/MyFlutterApplication.java
new file mode 100644
index 0000000..ebc327f
--- /dev/null
+++ b/example/android/app/src/main/java/cn/zhios/zhiying_base_widget_example/MyFlutterApplication.java
@@ -0,0 +1,16 @@
+package cn.zhios.zhiying_base_widget_example;
+
+import com.example.moblink.MoblinkPlugin;
+import com.mob.moblink.MobLink;
+
+import io.flutter.app.FlutterApplication;
+
+public class MyFlutterApplication extends FlutterApplication {
+
+ //防止MobLink在APP杀死进程后无法还原
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ MobLink.setRestoreSceneListener(new MoblinkPlugin.SceneListener());
+ }
+}
diff --git a/lib/pages/home_page/home_page.dart b/lib/pages/home_page/home_page.dart
index 4c73bfe..64ba3d4 100644
--- a/lib/pages/home_page/home_page.dart
+++ b/lib/pages/home_page/home_page.dart
@@ -65,27 +65,6 @@ class _HomePageState extends State with WidgetsBindingObserver {
super.initState();
}
- // 场景还原,记录邀请码
- void _restore(MLSDKScene scene) {
- const bool inProduction = const bool.fromEnvironment("dart.vm.product");
- if (!inProduction) {
- // 非release环境,弹窗测试
- showAlert('要还原的路径为:' + scene.className + '\n' + scene.params.toString(),
- context);
- }
- Logger.debug('要还原的路径为:' + scene.className);
- try {
- Map params = Map.from(scene.params);
- if (params.containsKey('tgid')) {
- String tgid = params['tgid'].toString();
- // 记录邀请码到本地
- SharedPreferencesUtil.setNetCacheResult(Constants.mobInvitedCode, tgid);
- }
- } catch (e) {
- Logger.debug(e);
- }
- }
-
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
@@ -222,16 +201,54 @@ class _HomePageState extends State with WidgetsBindingObserver {
IntellectCreate.checkAndCreateFirst(context);
}
+ // 场景还原,记录邀请码
+ void _restore(MLSDKScene scene) {
+ // const bool inProduction = const bool.fromEnvironment("dart.vm.product");
+ bool inProduction = false;
+ if (!inProduction) {
+ // 非release环境,弹窗测试
+ showAlert('要还原的路径为:' + scene.className + '\n' + scene.params.toString(),
+ context);
+ }
+ Logger.debug('要还原的路径为:' + scene.className);
+ try {
+ Map params = Map.from(scene.params);
+ if (params.containsKey('tgid')) {
+ String tgid = params['tgid'].toString();
+ // 记录邀请码到本地
+ SharedPreferencesUtil.setNetCacheResult(Constants.mobInvitedCode, tgid);
+ }
+ } catch (e) {
+ Logger.error(e);
+ }
+ }
+
//app存在后台时候的还原
void _onEvent(Object event) {
Logger.debug('返回的内容: $event');
- if (null != event) {
- showAlert('要还原的路径为[活着]:$event', context);
+ try {
+ if (null != event) {
+ Map params = Map.from(event);
+ // const bool inProduction = const bool.fromEnvironment("dart.vm.product");
+ bool inProduction = false;
+ if (!inProduction) {
+ // 非release环境,弹窗测试
+ showAlert('要还原的路径为[活着]:$event', context);
+ }
+ if (params['params'].containsKey('tgid')) {
+ String tgid = params['params']['tgid'].toString();
+ // 记录邀请码到本地
+ SharedPreferencesUtil.setNetCacheResult(
+ Constants.mobInvitedCode, tgid);
+ }
+ }
+ } catch (e) {
+ Logger.error(e);
}
}
void _onError(Object error) {
- Logger.debug('返回的错误');
+ Logger.error('返回的错误: $error');
}
void showAlert(String text, BuildContext context) {