From e1ecd003d498ac9232c243cd26b8448114286a13 Mon Sep 17 00:00:00 2001 From: v7lin Date: Mon, 16 Dec 2019 11:14:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=80=82=E9=85=8D=20Android?= =?UTF-8?q?=20Q=20=E6=9C=AC=E5=9C=B0=E5=88=86=E4=BA=AB=20&=20TIM/QQLite?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++++ README.md | 9 ++++++++ android/src/main/AndroidManifest.xml | 6 +++--- .../v7lin/tencent_kit/TencentKitPlugin.java | 21 ++++++++++++------- ios/Classes/TencentKitPlugin.m | 4 +++- 5 files changed, 33 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb5600c..5be1fd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.4 - 2019.12.16 + +* 适配 Android Q 本地分享适配(别问为什么,腾讯有毒!) + ## 1.0.3 - 2019.12.05 * 升级 Android SDK diff --git a/README.md b/README.md index 3c82854..8c43421 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,15 @@ android { # 混淆已打入 Library,随 Library 引用,自动添加到 apk 打包混淆 ``` +``` + + + + + + +``` + ## ios ``` diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index c414fa3..e06afb5 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -33,8 +33,8 @@ android:theme="@android:style/Theme.Translucent.NoTitleBar" /> - - + diff --git a/android/src/main/java/io/github/v7lin/tencent_kit/TencentKitPlugin.java b/android/src/main/java/io/github/v7lin/tencent_kit/TencentKitPlugin.java index 3ec144e..847f378 100644 --- a/android/src/main/java/io/github/v7lin/tencent_kit/TencentKitPlugin.java +++ b/android/src/main/java/io/github/v7lin/tencent_kit/TencentKitPlugin.java @@ -114,14 +114,21 @@ public class TencentKitPlugin implements MethodCallHandler, PluginRegistry.Activ tencent = Tencent.createInstance(appId, registrar.context().getApplicationContext()); result.success(null); } else if (METHOD_ISINSTALLED.equals(call.method)) { - boolean isQQInstalled = false; - try { - final PackageManager packageManager = registrar.context().getPackageManager(); - PackageInfo info = packageManager.getPackageInfo("com.tencent.mobileqq", 0); - isQQInstalled = info != null; - } catch (PackageManager.NameNotFoundException ignore) { + boolean isInstalled = false; + PackageManager packageManager = registrar.context().getPackageManager(); + List infos = packageManager.getInstalledPackages(0); + if (infos != null && !infos.isEmpty()) { + for (PackageInfo info : infos) { + // 普通大众版 > 办公简洁版 > 急速轻聊版 + if ("com.tencent.mobileqq".equals(info.packageName) + || "com.tencent.tim".equals(info.packageName) + || "com.tencent.qqlite".equals(info.packageName)) { + isInstalled = true; + break; + } + } } - result.success(isQQInstalled); + result.success(isInstalled); } else if (METHOD_LOGIN.equals(call.method)) { login(call, result); } else if (METHOD_LOGOUT.equals(call.method)) { diff --git a/ios/Classes/TencentKitPlugin.m b/ios/Classes/TencentKitPlugin.m index ac07cb4..8052d64 100644 --- a/ios/Classes/TencentKitPlugin.m +++ b/ios/Classes/TencentKitPlugin.m @@ -93,7 +93,9 @@ static NSString *const SCHEME_FILE = @"file"; } result(nil); } else if ([METHOD_ISINSTALLED isEqualToString:call.method]) { - result([NSNumber numberWithBool:[TencentOAuth iphoneQQInstalled]]); + // 普通大众版 > 办公简洁版 + BOOL isInstalled = [TencentOAuth iphoneQQInstalled] || [TencentOAuth iphoneTIMInstalled]; + result([NSNumber numberWithBool:isInstalled]); } else if ([METHOD_LOGIN isEqualToString:call.method]) { [self login:call result:result]; } else if ([METHOD_LOGOUT isEqualToString:call.method]) {