diff --git a/.gitignore b/.gitignore index 922607d..dacc36b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,25 +1,26 @@ -local.properties +/local.properties *.iml -.idea/ -.gradle/ -build/ -captures/ - -.DS_Store -.settings/ *.properties +*.project +*.classPath - -/.gradle/ /.idea/ -/build/ -/captures/ -/codeStyleSettings.xml +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml -*.iml -*.project -*.classPath +.DS_Store +/build +/captures +/.gradle +/gradle/ +/.settings +/codeStyleSettings.xml +.externalNativeBuild /app/.settings/ /app/build/ diff --git a/dongxlpush/build.gradle b/dongxlpush/build.gradle index 0d71b35..661e215 100644 --- a/dongxlpush/build.gradle +++ b/dongxlpush/build.gradle @@ -67,11 +67,11 @@ dependencies { androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' /*华为推送引用*/ - implementation 'com.huawei.hms:push:3.0.0.302' - implementation 'com.huawei.hms:opendevice:3.0.0.302' + implementation 'com.huawei.hms:push:3.0.2.300' + implementation 'com.huawei.hms:opendevice:3.0.2.300' /*魅族*/ implementation 'com.meizu.flyme.internet:push-internal:3.8.3' -/*极光*/ -// implementation 'cn.jiguang.sdk:jpush:3.3.4' // 此处以JPush 3.3.4 版本为例。 -// implementation 'cn.jiguang.sdk:jcore:2.1.2' // 此处以JCore 2.1.2 版本为例。 + /*极光*/ +// implementation 'cn.jiguang.sdk:jcore:2.1.6' // 此处以JCore 2.1.6 版本为例。 +// implementation 'cn.jiguang.sdk:jpush:3.3.9' // 此处以JPush 3.3.9 版本为例。 } diff --git a/dongxlpush/libs/MiPush_SDK_Client_3_6_19.jar b/dongxlpush/libs/MiPush_SDK_Client_3_6_19.jar deleted file mode 100644 index b3449dd..0000000 Binary files a/dongxlpush/libs/MiPush_SDK_Client_3_6_19.jar and /dev/null differ diff --git a/dongxlpush/libs/MiPush_SDK_Client_3_7_0.jar b/dongxlpush/libs/MiPush_SDK_Client_3_7_0.jar new file mode 100644 index 0000000..2ede3fe Binary files /dev/null and b/dongxlpush/libs/MiPush_SDK_Client_3_7_0.jar differ diff --git a/dongxlpush/libs/arm64-v8a/libjcore212.so b/dongxlpush/libs/arm64-v8a/libjcore216.so similarity index 97% rename from dongxlpush/libs/arm64-v8a/libjcore212.so rename to dongxlpush/libs/arm64-v8a/libjcore216.so index 7c7a83e..de4bf31 100755 Binary files a/dongxlpush/libs/arm64-v8a/libjcore212.so and b/dongxlpush/libs/arm64-v8a/libjcore216.so differ diff --git a/dongxlpush/libs/armeabi-v7a/libjcore212.so b/dongxlpush/libs/armeabi-v7a/libjcore216.so similarity index 98% rename from dongxlpush/libs/armeabi-v7a/libjcore212.so rename to dongxlpush/libs/armeabi-v7a/libjcore216.so index d09da8e..4b313f8 100755 Binary files a/dongxlpush/libs/armeabi-v7a/libjcore212.so and b/dongxlpush/libs/armeabi-v7a/libjcore216.so differ diff --git a/dongxlpush/libs/armeabi/libjcore212.so b/dongxlpush/libs/armeabi/libjcore216.so similarity index 96% rename from dongxlpush/libs/armeabi/libjcore212.so rename to dongxlpush/libs/armeabi/libjcore216.so index 0106c5a..5677f35 100755 Binary files a/dongxlpush/libs/armeabi/libjcore212.so and b/dongxlpush/libs/armeabi/libjcore216.so differ diff --git a/dongxlpush/libs/com.coloros.mcssdk-1.1.0.jar b/dongxlpush/libs/com.coloros.mcssdk-1.1.0.jar new file mode 100644 index 0000000..e748af6 Binary files /dev/null and b/dongxlpush/libs/com.coloros.mcssdk-1.1.0.jar differ diff --git a/dongxlpush/libs/com.coloros.mcssdk.v1.0.1.jar b/dongxlpush/libs/com.coloros.mcssdk.v1.0.1.jar deleted file mode 100755 index 88a4de6..0000000 Binary files a/dongxlpush/libs/com.coloros.mcssdk.v1.0.1.jar and /dev/null differ diff --git a/dongxlpush/libs/jcore-android-2.1.2.jar b/dongxlpush/libs/jcore-android-2.1.2.jar deleted file mode 100755 index 9a770dc..0000000 Binary files a/dongxlpush/libs/jcore-android-2.1.2.jar and /dev/null differ diff --git a/dongxlpush/libs/jcore-android-2.1.6.jar b/dongxlpush/libs/jcore-android-2.1.6.jar new file mode 100755 index 0000000..59e01b8 Binary files /dev/null and b/dongxlpush/libs/jcore-android-2.1.6.jar differ diff --git a/dongxlpush/libs/jpush-android-3.3.4.jar b/dongxlpush/libs/jpush-android-3.3.4.jar deleted file mode 100755 index fef22f8..0000000 Binary files a/dongxlpush/libs/jpush-android-3.3.4.jar and /dev/null differ diff --git a/dongxlpush/libs/jpush-android-3.3.9.jar b/dongxlpush/libs/jpush-android-3.3.9.jar new file mode 100755 index 0000000..0d70aca Binary files /dev/null and b/dongxlpush/libs/jpush-android-3.3.9.jar differ diff --git a/dongxlpush/libs/mips/libjcore212.so b/dongxlpush/libs/mips/libjcore216.so similarity index 97% rename from dongxlpush/libs/mips/libjcore212.so rename to dongxlpush/libs/mips/libjcore216.so index 5110f46..77f438b 100755 Binary files a/dongxlpush/libs/mips/libjcore212.so and b/dongxlpush/libs/mips/libjcore216.so differ diff --git a/dongxlpush/libs/mips64/libjcore212.so b/dongxlpush/libs/mips64/libjcore216.so similarity index 94% rename from dongxlpush/libs/mips64/libjcore212.so rename to dongxlpush/libs/mips64/libjcore216.so index 1df557b..6bf6ca8 100755 Binary files a/dongxlpush/libs/mips64/libjcore212.so and b/dongxlpush/libs/mips64/libjcore216.so differ diff --git a/dongxlpush/libs/x86/libjcore212.so b/dongxlpush/libs/x86/libjcore216.so similarity index 96% rename from dongxlpush/libs/x86/libjcore212.so rename to dongxlpush/libs/x86/libjcore216.so index 8eae348..ad30b7a 100755 Binary files a/dongxlpush/libs/x86/libjcore212.so and b/dongxlpush/libs/x86/libjcore216.so differ diff --git a/dongxlpush/libs/x86_64/libjcore212.so b/dongxlpush/libs/x86_64/libjcore216.so similarity index 87% rename from dongxlpush/libs/x86_64/libjcore212.so rename to dongxlpush/libs/x86_64/libjcore216.so index c935dca..f4fb049 100755 Binary files a/dongxlpush/libs/x86_64/libjcore212.so and b/dongxlpush/libs/x86_64/libjcore216.so differ diff --git a/dongxlpush/src/main/java/com/dongxl/pushdeme/PushRegisterSet.java b/dongxlpush/src/main/java/com/dongxl/pushdeme/PushRegisterSet.java index 8f51d9b..f898894 100644 --- a/dongxlpush/src/main/java/com/dongxl/pushdeme/PushRegisterSet.java +++ b/dongxlpush/src/main/java/com/dongxl/pushdeme/PushRegisterSet.java @@ -659,6 +659,94 @@ public static void setAcceptTime(Context context, int startHour, int startMin, i } } + /** + * 检查推送是否打开 + * @param context + * @return 默认返回true + */ + public static boolean checkTurnOnOrOffPush(Context context) { + if (!PhoneUtils.isChinaCountry(context)) { + return false; + } + boolean isOn = false; + switch (getSupportPushPlatform(context)) { + case PushConstants.PushPlatform.PLATFORM_XIAOMI: + isOn = MiPushClient.shouldUseMIUIPush(context); + break; + case PushConstants.PushPlatform.PLATFORM_HUAWEI: + isOn = HuaweiPushRegister.checkTurnOnOrOffHuaweiPush(context); + break; + case PushConstants.PushPlatform.PLATFORM_OPPO: + com.coloros.mcssdk.PushManager.getInstance().getPushStatus(); + isOn = true; + break; + case PushConstants.PushPlatform.PLATFORM_VIVO: + isOn = true; + break; + case PushConstants.PushPlatform.PLATFORM_FLYME: + com.meizu.cloud.pushsdk.PushManager.checkPush(context, PushConstants.MEIZU_APP_ID, PushConstants.MEIZU_APP_KEY, com.meizu.cloud.pushsdk.PushManager.getPushId(context)); + isOn = true; + break; + case PushConstants.PushPlatform.PLATFORM_JPSUH: + isOn = !JPushInterface.isPushStopped(context);; + break; + default: + isOn = false; + break; + } + return isOn; + } + + /** + * 打开或者关闭推送 + * + * @param context + * @param isOn true 打开 + */ + public static void setTurnOnOrOffPush(Context context, boolean isOn) { + if (!PhoneUtils.isChinaCountry(context)) { + return; + } + switch (getSupportPushPlatform(context)) { + case PushConstants.PushPlatform.PLATFORM_XIAOMI: + if(isOn){ + MiPushClient.resumePush(context, null); + }else{ + MiPushClient.pausePush(context, null); + } + break; + case PushConstants.PushPlatform.PLATFORM_HUAWEI: + HuaweiPushRegister.turnOnOrOffHuaweiPush(context, isOn); + break; + case PushConstants.PushPlatform.PLATFORM_OPPO: + if(isOn){ + com.coloros.mcssdk.PushManager.getInstance().resumePush(); + }else{ + com.coloros.mcssdk.PushManager.getInstance().pausePush(); + } + break; + case PushConstants.PushPlatform.PLATFORM_VIVO: + if(isOn){ + new VivoPushOperation().turnOnPush(context); + }else{ + new VivoPushOperation().turnOffPush(context); + } + break; + case PushConstants.PushPlatform.PLATFORM_FLYME: + com.meizu.cloud.pushsdk.PushManager.switchPush(context, PushConstants.MEIZU_APP_ID, PushConstants.MEIZU_APP_KEY, com.meizu.cloud.pushsdk.PushManager.getPushId(context), isOn); + break; + case PushConstants.PushPlatform.PLATFORM_JPSUH: + if(isOn){ + JPushInterface.resumePush(context); + }else{ + JPushInterface.stopPush(context); + } + break; + default: + break; + } + } + /** * 清空推送通知根据id * @@ -731,7 +819,7 @@ public static void clearAllPushNotification(Context context, String platform) { */ private static String getSupportPushPlatform(Context context) { Context mContext = context.getApplicationContext(); - if (RomUtil.isMiui()) { + if (RomUtil.isMiui() && MiPushClient.shouldUseMIUIPush(context)) { return PushConstants.PushPlatform.PLATFORM_XIAOMI; } else if (RomUtil.isEmui()) { return PushConstants.PushPlatform.PLATFORM_HUAWEI; diff --git a/dongxlpush/src/main/java/com/dongxl/pushdeme/huawei/HuaweiPushRegister.java b/dongxlpush/src/main/java/com/dongxl/pushdeme/huawei/HuaweiPushRegister.java index 5bf0581..c050fec 100644 --- a/dongxlpush/src/main/java/com/dongxl/pushdeme/huawei/HuaweiPushRegister.java +++ b/dongxlpush/src/main/java/com/dongxl/pushdeme/huawei/HuaweiPushRegister.java @@ -258,6 +258,15 @@ public void onComplete(Task task) { } } + /** + * 检查推送是否打开 + * @param context + * @return + */ + public static boolean checkTurnOnOrOffHuaweiPush(final Context context){ + return true; + } + public static final class HuaweiResultCode { /** * huawei 成功 | success diff --git a/dongxlpush/src/main/java/com/dongxl/pushdeme/oppo/OppoPushCallback.java b/dongxlpush/src/main/java/com/dongxl/pushdeme/oppo/OppoPushCallback.java index 8a20cdc..53f3efe 100644 --- a/dongxlpush/src/main/java/com/dongxl/pushdeme/oppo/OppoPushCallback.java +++ b/dongxlpush/src/main/java/com/dongxl/pushdeme/oppo/OppoPushCallback.java @@ -222,7 +222,7 @@ public void onGetTags(int code, List list) { } /** - * push 时间 + * Push状态正常 * @param code * @param status */ diff --git a/dongxlpush/src/main/java/com/dongxl/pushdeme/vivo/VivoPushOperation.java b/dongxlpush/src/main/java/com/dongxl/pushdeme/vivo/VivoPushOperation.java index 2687107..b62f703 100644 --- a/dongxlpush/src/main/java/com/dongxl/pushdeme/vivo/VivoPushOperation.java +++ b/dongxlpush/src/main/java/com/dongxl/pushdeme/vivo/VivoPushOperation.java @@ -125,6 +125,52 @@ public void onStateChanged(int state) { }); } + /** + * 打开推送设置 + * + * @param context + */ + public void turnOnPush(final Context context) { + PushClient.getInstance(context.getApplicationContext()).turnOnPush(new IPushActionListener() { + + @Override + public void onStateChanged(int state) { + final PushDataBean pushData = new PushDataBean(PushConstants.HandlerWhat.WHAT_PUSH_OTHER, state); + String reason; + if (state == VivoResultCode.VIVO_SUCCESS) { + reason = "Vivo turnOnPush Result SUCCESS msg=" + state; + } else { + reason = "Vivo turnOnPush Result Failed code=" + state; + } + pushData.setReason(reason); + sendPushDataToService(context, pushData); + } + }); + } + + /** + * 关闭推送设置 + * + * @param context + */ + public void turnOffPush(final Context context) { + PushClient.getInstance(context.getApplicationContext()).turnOffPush(new IPushActionListener() { + + @Override + public void onStateChanged(int state) { + final PushDataBean pushData = new PushDataBean(PushConstants.HandlerWhat.WHAT_PUSH_OTHER, state); + String reason; + if (state == VivoResultCode.VIVO_SUCCESS) { + reason = "Vivo turnOffPush Result SUCCESS msg=" + state; + } else { + reason = "Vivo turnOffPush Result Failed code=" + state; + } + pushData.setReason(reason); + sendPushDataToService(context, pushData); + } + }); + } + public class VivoResultCode { public static final int VIVO_SUCCESS = 0; } diff --git a/dongxlpush/src/main/res/drawable-hdpi/jpush_ic_richpush_actionbar_back.png b/dongxlpush/src/main/res/drawable-hdpi/jpush_ic_richpush_actionbar_back.png new file mode 100755 index 0000000..c9f4e4d Binary files /dev/null and b/dongxlpush/src/main/res/drawable-hdpi/jpush_ic_richpush_actionbar_back.png differ diff --git a/dongxlpush/src/main/res/drawable-hdpi/jpush_ic_richpush_actionbar_divider.png b/dongxlpush/src/main/res/drawable-hdpi/jpush_ic_richpush_actionbar_divider.png new file mode 100755 index 0000000..f289651 Binary files /dev/null and b/dongxlpush/src/main/res/drawable-hdpi/jpush_ic_richpush_actionbar_divider.png differ diff --git a/dongxlpush/src/main/res/drawable-hdpi/jpush_richpush_btn_selector.xml b/dongxlpush/src/main/res/drawable-hdpi/jpush_richpush_btn_selector.xml new file mode 100755 index 0000000..c6dd002 --- /dev/null +++ b/dongxlpush/src/main/res/drawable-hdpi/jpush_richpush_btn_selector.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/dongxlpush/src/main/res/drawable-hdpi/jpush_richpush_progressbar.xml b/dongxlpush/src/main/res/drawable-hdpi/jpush_richpush_progressbar.xml new file mode 100755 index 0000000..a1d9b8f --- /dev/null +++ b/dongxlpush/src/main/res/drawable-hdpi/jpush_richpush_progressbar.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dongxlpush/src/main/res/layout/jpush_popwin_layout.xml b/dongxlpush/src/main/res/layout/jpush_popwin_layout.xml new file mode 100755 index 0000000..f43e478 --- /dev/null +++ b/dongxlpush/src/main/res/layout/jpush_popwin_layout.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/dongxlpush/src/main/res/layout/jpush_webview_layout.xml b/dongxlpush/src/main/res/layout/jpush_webview_layout.xml new file mode 100755 index 0000000..bebdd61 --- /dev/null +++ b/dongxlpush/src/main/res/layout/jpush_webview_layout.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dongxlpush/src/main/res/layout/push_notification.xml b/dongxlpush/src/main/res/layout/push_notification.xml new file mode 100755 index 0000000..299ea09 --- /dev/null +++ b/dongxlpush/src/main/res/layout/push_notification.xml @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dongxlpush/src/main/res/values-zh/jpush_string.xml b/dongxlpush/src/main/res/values-zh/jpush_string.xml new file mode 100755 index 0000000..069b6f4 --- /dev/null +++ b/dongxlpush/src/main/res/values-zh/jpush_string.xml @@ -0,0 +1,7 @@ + + + 不重要 + 不重要 + 普通 + 重要 + \ No newline at end of file