@onekeyfe/react-native-jpush 0.0.0-stage → 6.7.0-alpha.436
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +39 -2
- package/ReactNativeJpush.podspec +66 -0
- package/android/CMakeLists.txt +24 -0
- package/android/build.gradle +143 -0
- package/android/fcm/build.gradle +29 -0
- package/android/fcm/consumer-rules.pro +2 -0
- package/android/fcm/src/main/AndroidManifest.xml +16 -0
- package/android/fcm/src/main/java/com/onekey/jpush/fcm/FcmMessagingService.java +72 -0
- package/android/fcm/src/main/java/com/onekey/jpush/fcm/FcmPushManager.java +69 -0
- package/android/gradle.properties +4 -0
- package/android/src/main/AndroidManifest.xml +143 -0
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/cn/android/service/JTransitActivity.java +19 -0
- package/android/src/main/java/cn/jiguang/android/BuildConfig.java +10 -0
- package/android/src/main/java/cn/jiguang/android/IDataShare.java +190 -0
- package/android/src/main/java/cn/jiguang/api/BaseLogger.java +82 -0
- package/android/src/main/java/cn/jiguang/api/JAction.java +22 -0
- package/android/src/main/java/cn/jiguang/api/JActionExtra.java +21 -0
- package/android/src/main/java/cn/jiguang/api/JAnalyticsAction.java +11 -0
- package/android/src/main/java/cn/jiguang/api/JCoreInterface.java +228 -0
- package/android/src/main/java/cn/jiguang/api/JCoreManager.java +156 -0
- package/android/src/main/java/cn/jiguang/api/JDispatchAction.java +66 -0
- package/android/src/main/java/cn/jiguang/api/MultiSpHelper.java +114 -0
- package/android/src/main/java/cn/jiguang/api/ReportCallBack.java +9 -0
- package/android/src/main/java/cn/jiguang/api/SdkType.java +13 -0
- package/android/src/main/java/cn/jiguang/api/utils/JCollectionAuth.java +23 -0
- package/android/src/main/java/cn/jiguang/core/JCoreCrypto.java +545 -0
- package/android/src/main/java/cn/jiguang/core/JCoreStorage.java +737 -0
- package/android/src/main/java/cn/jiguang/core/JCoreTcpEngine.java +1395 -0
- package/android/src/main/java/cn/jiguang/core/JCoreWireCodec.java +1716 -0
- package/android/src/main/java/cn/jiguang/internal/ActionManager.java +63 -0
- package/android/src/main/java/cn/jiguang/internal/JConstants.java +61 -0
- package/android/src/main/java/cn/jiguang/internal/JCoreHelperAction.java +12 -0
- package/android/src/main/java/cn/jiguang/internal/JCoreInternalHelper.java +102 -0
- package/android/src/main/java/cn/jiguang/net/DefaultHostVerifier.java +40 -0
- package/android/src/main/java/cn/jiguang/net/HttpRequest.java +78 -0
- package/android/src/main/java/cn/jiguang/net/HttpResponse.java +48 -0
- package/android/src/main/java/cn/jiguang/net/HttpUtils.java +106 -0
- package/android/src/main/java/cn/jiguang/plugins/core/JCoreModule.java +91 -0
- package/android/src/main/java/cn/jiguang/plugins/core/JCorePackage.java +27 -0
- package/android/src/main/java/cn/jiguang/plugins/push/JPushModule.java +773 -0
- package/android/src/main/java/cn/jiguang/plugins/push/JPushPackage.java +25 -0
- package/android/src/main/java/cn/jiguang/plugins/push/common/JConstants.java +88 -0
- package/android/src/main/java/cn/jiguang/plugins/push/common/JLogger.java +122 -0
- package/android/src/main/java/cn/jiguang/plugins/push/helper/JPushHelper.java +710 -0
- package/android/src/main/java/cn/jiguang/plugins/push/receiver/JPushBroadcastReceiver.java +37 -0
- package/android/src/main/java/cn/jiguang/plugins/push/receiver/JPushModuleReceiver.java +264 -0
- package/android/src/main/java/cn/jiguang/plugins/service/JCoreModuleService.java +7 -0
- package/android/src/main/java/cn/jpush/android/api/BasicPushNotificationBuilder.java +83 -0
- package/android/src/main/java/cn/jpush/android/api/CallBackParams.java +50 -0
- package/android/src/main/java/cn/jpush/android/api/CmdMessage.java +33 -0
- package/android/src/main/java/cn/jpush/android/api/CustomMessage.java +28 -0
- package/android/src/main/java/cn/jpush/android/api/CustomPushNotificationBuilder.java +81 -0
- package/android/src/main/java/cn/jpush/android/api/DefaultPushNotificationBuilder.java +90 -0
- package/android/src/main/java/cn/jpush/android/api/InAppSlotParams.java +65 -0
- package/android/src/main/java/cn/jpush/android/api/InstrumentedActivity.java +17 -0
- package/android/src/main/java/cn/jpush/android/api/InstrumentedListActivity.java +17 -0
- package/android/src/main/java/cn/jpush/android/api/JPushInterface.java +490 -0
- package/android/src/main/java/cn/jpush/android/api/JPushMessage.java +121 -0
- package/android/src/main/java/cn/jpush/android/api/JThirdPlatFormInterface.java +247 -0
- package/android/src/main/java/cn/jpush/android/api/MultiActionsNotificationBuilder.java +72 -0
- package/android/src/main/java/cn/jpush/android/api/NotificationCustomButton.java +50 -0
- package/android/src/main/java/cn/jpush/android/api/NotificationMessage.java +67 -0
- package/android/src/main/java/cn/jpush/android/api/PushNotificationBuilder.java +13 -0
- package/android/src/main/java/cn/jpush/android/api/TagAliasCallback.java +8 -0
- package/android/src/main/java/cn/jpush/android/data/JPushCollectControl.java +96 -0
- package/android/src/main/java/cn/jpush/android/data/JPushConfig.java +79 -0
- package/android/src/main/java/cn/jpush/android/data/JPushConfigEx.java +41 -0
- package/android/src/main/java/cn/jpush/android/data/JPushLocalNotification.java +155 -0
- package/android/src/main/java/cn/jpush/android/helper/JCoreHelper.java +70 -0
- package/android/src/main/java/cn/jpush/android/helper/Logger.java +82 -0
- package/android/src/main/java/cn/jpush/android/local/ActionHelper.java +1277 -0
- package/android/src/main/java/cn/jpush/android/local/ActivityLifeCallBack.java +47 -0
- package/android/src/main/java/cn/jpush/android/local/JPushAction.java +67 -0
- package/android/src/main/java/cn/jpush/android/local/JPushConstants.java +34 -0
- package/android/src/main/java/cn/jpush/android/local/JPushResponse.java +26 -0
- package/android/src/main/java/cn/jpush/android/local/ProxyActivityAction.java +34 -0
- package/android/src/main/java/cn/jpush/android/service/AlarmReceiver.java +15 -0
- package/android/src/main/java/cn/jpush/android/service/BActivity.java +19 -0
- package/android/src/main/java/cn/jpush/android/service/DActivity.java +19 -0
- package/android/src/main/java/cn/jpush/android/service/DaemonService.java +17 -0
- package/android/src/main/java/cn/jpush/android/service/DataProvider.java +136 -0
- package/android/src/main/java/cn/jpush/android/service/DataShare.java +129 -0
- package/android/src/main/java/cn/jpush/android/service/DownloadProvider.java +139 -0
- package/android/src/main/java/cn/jpush/android/service/InitProvider.java +48 -0
- package/android/src/main/java/cn/jpush/android/service/JCommonService.java +79 -0
- package/android/src/main/java/cn/jpush/android/service/JNotifyActivity.java +28 -0
- package/android/src/main/java/cn/jpush/android/service/JPushMessageReceiver.java +94 -0
- package/android/src/main/java/cn/jpush/android/service/PushReceiver.java +26 -0
- package/android/src/main/java/cn/jpush/android/service/PushService.java +28 -0
- package/android/src/main/java/cn/jpush/android/service/SchedulerReceiver.java +17 -0
- package/android/src/main/java/cn/jpush/android/service/TagAliasReceiver.java +11 -0
- package/android/src/main/java/cn/jpush/android/service/WakedResultReceiver.java +24 -0
- package/android/src/main/java/cn/jpush/android/ui/FullScreenView.java +11 -0
- package/android/src/main/java/cn/jpush/android/ui/PopWinActivity.java +16 -0
- package/android/src/main/java/cn/jpush/android/ui/PushActivity.java +27 -0
- package/android/src/main/java/cn/jpush/android/ui/RoundedImageView.java +63 -0
- package/android/src/main/java/cn/jpush/android/ui/ShadowViewCard.java +56 -0
- package/android/src/main/java/cn/jpush/android/ups/ICallbackResult.java +5 -0
- package/android/src/main/java/cn/jpush/android/ups/JPushUPSManager.java +37 -0
- package/android/src/main/java/cn/jpush/android/ups/TokenResult.java +47 -0
- package/android/src/main/java/cn/jpush/android/ups/UPSRegisterCallBack.java +4 -0
- package/android/src/main/java/cn/jpush/android/ups/UPSTurnCallBack.java +4 -0
- package/android/src/main/java/cn/jpush/android/ups/UPSUnRegisterCallBack.java +4 -0
- package/android/src/main/java/com/margelo/nitro/reactnativejpush/ReactNativeJpush.kt +455 -0
- package/android/src/main/java/com/margelo/nitro/reactnativejpush/ReactNativeJpushPackage.kt +50 -0
- package/android/src/main/res/values/jpush_string.xml +7 -0
- package/android/src/main/res/values/jpush_style.xml +22 -0
- package/android/src/test/java/com/margelo/nitro/reactnativejpush/ReactNativeJpushProtocolTest.java +1016 -0
- package/ios/ReactNativeJpush.swift +522 -0
- package/ios/bridge/RCTJCoreModule.h +5 -0
- package/ios/bridge/RCTJCoreModule.m +31 -0
- package/ios/bridge/RCTJPushEventQueue.h +14 -0
- package/ios/bridge/RCTJPushEventQueue.m +23 -0
- package/ios/bridge/RCTJPushModule.h +37 -0
- package/ios/bridge/RCTJPushModule.m +1165 -0
- package/ios/include/JCOREService.h +3 -0
- package/ios/include/JGCOREAPI.h +14 -0
- package/ios/include/JGInforCollectionAuth.h +17 -0
- package/ios/include/JGInforCollectionAuthItems.h +2 -0
- package/ios/include/JGPushNotificationTrigger.h +2 -0
- package/ios/include/JPUSHService.h +359 -0
- package/ios/jcore/JCOREConfiguration.h +141 -0
- package/ios/jcore/JCOREConfiguration.m +703 -0
- package/ios/jcore/JCORECrypto.h +73 -0
- package/ios/jcore/JCORECrypto.m +649 -0
- package/ios/jcore/JCORESisResolver.h +56 -0
- package/ios/jcore/JCORESisResolver.m +525 -0
- package/ios/jcore/JCORETcpSession.h +42 -0
- package/ios/jcore/JCORETcpSession.m +956 -0
- package/ios/jcore/JCOREWireProtocol.h +274 -0
- package/ios/jcore/JCOREWireProtocol.m +1453 -0
- package/ios/jpush/JPUSHModels.m +214 -0
- package/ios/jpush/JPUSHNotificationManager.h +34 -0
- package/ios/jpush/JPUSHNotificationManager.m +360 -0
- package/ios/jpush/JPUSHService.m +794 -0
- package/ios/tests/ReactNativeJpushTests.m +148 -0
- package/lib/module/ReactNativeJpush.nitro.js +4 -0
- package/lib/module/ReactNativeJpush.nitro.js.map +1 -0
- package/lib/module/index.js +801 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/ReactNativeJpush.nitro.d.ts +60 -0
- package/lib/typescript/src/ReactNativeJpush.nitro.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +235 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/nitro.json +23 -0
- package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string.hpp +76 -0
- package/nitrogen/generated/android/c++/JHybridReactNativeJpushSpec.cpp +310 -0
- package/nitrogen/generated/android/c++/JHybridReactNativeJpushSpec.hpp +115 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/Func_void_bool.kt +78 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/Func_void_std__string_std__string.kt +78 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/HybridReactNativeJpushSpec.kt +274 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/reactnativejpushOnLoad.kt +35 -0
- package/nitrogen/generated/android/reactnativejpush+autolinking.cmake +81 -0
- package/nitrogen/generated/android/reactnativejpush+autolinking.gradle +27 -0
- package/nitrogen/generated/android/reactnativejpushOnLoad.cpp +58 -0
- package/nitrogen/generated/android/reactnativejpushOnLoad.hpp +34 -0
- package/nitrogen/generated/ios/ReactNativeJpush+autolinking.rb +62 -0
- package/nitrogen/generated/ios/ReactNativeJpush-Swift-Cxx-Bridge.cpp +49 -0
- package/nitrogen/generated/ios/ReactNativeJpush-Swift-Cxx-Bridge.hpp +147 -0
- package/nitrogen/generated/ios/ReactNativeJpush-Swift-Cxx-Umbrella.hpp +46 -0
- package/nitrogen/generated/ios/ReactNativeJpushAutolinking.mm +33 -0
- package/nitrogen/generated/ios/ReactNativeJpushAutolinking.swift +26 -0
- package/nitrogen/generated/ios/c++/HybridReactNativeJpushSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridReactNativeJpushSpecSwift.hpp +402 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string_std__string.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridReactNativeJpushSpec.swift +107 -0
- package/nitrogen/generated/ios/swift/HybridReactNativeJpushSpec_cxx.swift +723 -0
- package/nitrogen/generated/shared/c++/HybridReactNativeJpushSpec.cpp +73 -0
- package/nitrogen/generated/shared/c++/HybridReactNativeJpushSpec.hpp +116 -0
- package/package.json +174 -4
- package/src/ReactNativeJpush.nitro.ts +93 -0
- package/src/index.tsx +1090 -0
|
@@ -0,0 +1,773 @@
|
|
|
1
|
+
|
|
2
|
+
package cn.jiguang.plugins.push;
|
|
3
|
+
import android.app.NotificationChannel;
|
|
4
|
+
import android.app.NotificationManager;
|
|
5
|
+
import android.net.Uri;
|
|
6
|
+
import android.os.Build;
|
|
7
|
+
import android.app.Activity;
|
|
8
|
+
import android.app.Application;
|
|
9
|
+
import android.os.Bundle;
|
|
10
|
+
import android.text.TextUtils;
|
|
11
|
+
import android.util.Log;
|
|
12
|
+
|
|
13
|
+
import com.facebook.react.bridge.Arguments;
|
|
14
|
+
import com.facebook.react.bridge.Callback;
|
|
15
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
16
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
17
|
+
import com.facebook.react.bridge.ReactMethod;
|
|
18
|
+
import com.facebook.react.bridge.ReadableArray;
|
|
19
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
20
|
+
import com.facebook.react.bridge.ReadableNativeMap;
|
|
21
|
+
import com.facebook.react.bridge.WritableMap;
|
|
22
|
+
|
|
23
|
+
import org.json.JSONObject;
|
|
24
|
+
|
|
25
|
+
import java.util.Collections;
|
|
26
|
+
import java.util.HashMap;
|
|
27
|
+
import java.util.HashSet;
|
|
28
|
+
import java.util.Set;
|
|
29
|
+
import java.util.concurrent.CopyOnWriteArraySet;
|
|
30
|
+
import java.lang.*;
|
|
31
|
+
|
|
32
|
+
import cn.jiguang.plugins.push.common.JConstants;
|
|
33
|
+
import cn.jiguang.plugins.push.common.JLogger;
|
|
34
|
+
import cn.jiguang.plugins.push.helper.JPushHelper;
|
|
35
|
+
import cn.jiguang.plugins.push.receiver.JPushBroadcastReceiver;
|
|
36
|
+
import cn.jpush.android.api.BasicPushNotificationBuilder;
|
|
37
|
+
import cn.jpush.android.api.JPushInterface;
|
|
38
|
+
import cn.jpush.android.data.JPushCollectControl;
|
|
39
|
+
import cn.jpush.android.data.JPushLocalNotification;
|
|
40
|
+
|
|
41
|
+
public class JPushModule extends ReactContextBaseJavaModule {
|
|
42
|
+
|
|
43
|
+
public static ReactApplicationContext reactContext;
|
|
44
|
+
private static final Set<ReactApplicationContext> ACTIVE_CONTEXTS =
|
|
45
|
+
new CopyOnWriteArraySet<ReactApplicationContext>();
|
|
46
|
+
|
|
47
|
+
public static boolean isAppForeground = false;
|
|
48
|
+
|
|
49
|
+
public static void registerReactContext(ReactApplicationContext ctx) {
|
|
50
|
+
if (ctx != null) {
|
|
51
|
+
ACTIVE_CONTEXTS.add(ctx);
|
|
52
|
+
if (reactContext == null) {
|
|
53
|
+
reactContext = ctx;
|
|
54
|
+
}
|
|
55
|
+
JPushHelper.flushPendingEvents();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
public static Set<ReactApplicationContext> getActiveReactContexts() {
|
|
60
|
+
return Collections.unmodifiableSet(ACTIVE_CONTEXTS);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
public static void clearActiveReactContexts() {
|
|
64
|
+
ACTIVE_CONTEXTS.clear();
|
|
65
|
+
reactContext = null;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
public JPushModule(ReactApplicationContext reactApplicationContext) {
|
|
69
|
+
super(reactApplicationContext);
|
|
70
|
+
reactContext = reactApplicationContext;
|
|
71
|
+
registerReactContext(reactApplicationContext);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@Override
|
|
75
|
+
public String getName() {
|
|
76
|
+
return "JPushModule";
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@ReactMethod
|
|
80
|
+
public void setDebugMode(boolean enable) {
|
|
81
|
+
JPushInterface.setDebugMode(enable);
|
|
82
|
+
JLogger.setLoggerEnable(enable);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@ReactMethod
|
|
86
|
+
public void init() {
|
|
87
|
+
JPushInterface.init(reactContext);
|
|
88
|
+
if (JPushBroadcastReceiver.NOTIFICATION_BUNDLE != null) {
|
|
89
|
+
Bundle bundle = JPushBroadcastReceiver.NOTIFICATION_BUNDLE;
|
|
90
|
+
java.util.Map<String, Object> map = JPushHelper.convertNotificationBundleToMapObject(
|
|
91
|
+
JConstants.NOTIFICATION_OPENED,
|
|
92
|
+
bundle
|
|
93
|
+
);
|
|
94
|
+
String eventName = bundle.getInt(JPushInterface.EXTRA_NOTI_TYPE, 0) == 1
|
|
95
|
+
? JConstants.LOCAL_NOTIFICATION_EVENT
|
|
96
|
+
: JConstants.NOTIFICATION_EVENT;
|
|
97
|
+
JPushHelper.sendEventMap(eventName, map);
|
|
98
|
+
JPushBroadcastReceiver.NOTIFICATION_BUNDLE = null;
|
|
99
|
+
}
|
|
100
|
+
JPushInterface.setNotificationCallBackEnable(reactContext,true);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
@ReactMethod
|
|
104
|
+
public void stopPush() {
|
|
105
|
+
JPushInterface.stopPush(reactContext);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
@ReactMethod
|
|
109
|
+
public void resumePush() {
|
|
110
|
+
JPushInterface.resumePush(reactContext);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
@ReactMethod
|
|
114
|
+
public void isPushStopped(Callback callback) {
|
|
115
|
+
boolean isPushStopped = JPushInterface.isPushStopped(reactContext);
|
|
116
|
+
if (callback == null) {
|
|
117
|
+
JLogger.w(JConstants.CALLBACK_NULL);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
callback.invoke(isPushStopped);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
@ReactMethod
|
|
124
|
+
public void setChannel(ReadableMap readableMap) {
|
|
125
|
+
if (readableMap == null) {
|
|
126
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
String channel = readableMap.getString(JConstants.CHANNEL);
|
|
130
|
+
if (TextUtils.isEmpty(channel)) {
|
|
131
|
+
JLogger.w(JConstants.PARAMS_ILLEGAL);
|
|
132
|
+
} else {
|
|
133
|
+
JPushInterface.setChannel(reactContext, channel);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
@ReactMethod
|
|
137
|
+
public void setChannelAndSound(ReadableMap readableMap) {
|
|
138
|
+
if (readableMap == null) {
|
|
139
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
String channel = readableMap.getString(JConstants.CHANNEL);
|
|
143
|
+
String sound = readableMap.getString(JConstants.SOUND);
|
|
144
|
+
String channelId = readableMap.getString(JConstants.CHANNELID);
|
|
145
|
+
try {
|
|
146
|
+
NotificationManager manager= (NotificationManager) reactContext.getSystemService("notification");
|
|
147
|
+
if(Build.VERSION.SDK_INT<26){
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
if(TextUtils.isEmpty(channel)||TextUtils.isEmpty(channelId)){
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
NotificationChannel channel1=new NotificationChannel(channelId,channel, NotificationManager.IMPORTANCE_HIGH);
|
|
154
|
+
if(!TextUtils.isEmpty(sound)){
|
|
155
|
+
channel1.setSound(Uri.parse("android.resource://"+reactContext.getPackageName()+"/raw/"+sound),null);
|
|
156
|
+
}
|
|
157
|
+
manager.createNotificationChannel(channel1);
|
|
158
|
+
JPushInterface.setChannel(reactContext,channel);
|
|
159
|
+
}catch (Throwable throwable){
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
@ReactMethod
|
|
163
|
+
public void setLinkMergeEnable(boolean enable) {
|
|
164
|
+
JPushInterface.setLinkMergeEnable(reactContext, enable);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
@ReactMethod
|
|
168
|
+
public void setSmartPushEnable(boolean enable) {
|
|
169
|
+
JPushInterface.setSmartPushEnable(reactContext, enable);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
@ReactMethod
|
|
173
|
+
public void setDataInsightsEnable(boolean enable) {
|
|
174
|
+
JPushInterface.setDataInsightsEnable(reactContext, enable);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
@ReactMethod
|
|
178
|
+
public void setGeofenceEnable(boolean enable) {
|
|
179
|
+
JPushInterface.setGeofenceEnable(reactContext, enable);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
@ReactMethod
|
|
183
|
+
public void setCollectControl(ReadableMap readableMap) {
|
|
184
|
+
if (readableMap == null) {
|
|
185
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
boolean hadValue = false;
|
|
189
|
+
JPushCollectControl.Builder builder = new JPushCollectControl.Builder();
|
|
190
|
+
if (readableMap.hasKey(JConstants.IMEI)) {
|
|
191
|
+
hadValue = true;
|
|
192
|
+
builder.imei(readableMap.getBoolean(JConstants.IMEI));
|
|
193
|
+
}
|
|
194
|
+
if (readableMap.hasKey(JConstants.IMSI)) {
|
|
195
|
+
hadValue = true;
|
|
196
|
+
builder.imsi(readableMap.getBoolean(JConstants.IMSI));
|
|
197
|
+
}
|
|
198
|
+
if (readableMap.hasKey(JConstants.MAC)) {
|
|
199
|
+
hadValue = true;
|
|
200
|
+
builder.mac(readableMap.getBoolean(JConstants.MAC));
|
|
201
|
+
}
|
|
202
|
+
if (readableMap.hasKey(JConstants.WIFI)) {
|
|
203
|
+
hadValue = true;
|
|
204
|
+
builder.wifi(readableMap.getBoolean(JConstants.WIFI));
|
|
205
|
+
}
|
|
206
|
+
if (readableMap.hasKey(JConstants.BSSID)) {
|
|
207
|
+
hadValue = true;
|
|
208
|
+
builder.bssid(readableMap.getBoolean(JConstants.BSSID));
|
|
209
|
+
}
|
|
210
|
+
if (readableMap.hasKey(JConstants.SSID)) {
|
|
211
|
+
hadValue = true;
|
|
212
|
+
builder.ssid(readableMap.getBoolean(JConstants.SSID));
|
|
213
|
+
}
|
|
214
|
+
if (readableMap.hasKey(JConstants.CELL)) {
|
|
215
|
+
hadValue = true;
|
|
216
|
+
builder.cell(readableMap.getBoolean(JConstants.CELL));
|
|
217
|
+
}
|
|
218
|
+
if (hadValue) {
|
|
219
|
+
JPushInterface.setCollectControl(reactContext, builder.build());
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
@ReactMethod
|
|
223
|
+
public void setBadgeNumber(ReadableMap readableMap) {
|
|
224
|
+
if (readableMap == null) {
|
|
225
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
if (readableMap.hasKey(JConstants.BADGE_NUMBER)) {
|
|
229
|
+
int number = readableMap.getInt(JConstants.BADGE_NUMBER);
|
|
230
|
+
JPushInterface.setBadgeNumber(reactContext,number);
|
|
231
|
+
} else {
|
|
232
|
+
JLogger.w("there are no " + JConstants.BADGE_NUMBER);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
@ReactMethod
|
|
236
|
+
public void setPushTime(ReadableMap readableMap) {
|
|
237
|
+
if (readableMap == null) {
|
|
238
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
ReadableArray readableArray = readableMap.getArray(JConstants.PUSH_TIME_DAYS);
|
|
242
|
+
int startHour = readableMap.getInt(JConstants.PUSH_TIME_START_HOUR);
|
|
243
|
+
int endHour = readableMap.getInt(JConstants.PUSH_TIME_END_HOUR);
|
|
244
|
+
if (readableArray == null || startHour < 0 || startHour > 23 || endHour < 0 || endHour > 23) {
|
|
245
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
Set<Integer> days = new HashSet<Integer>();
|
|
249
|
+
for (int i = 0; i < readableArray.size(); i++) {
|
|
250
|
+
int day = readableArray.getInt(i);
|
|
251
|
+
if (day > 6 || day < 0) {
|
|
252
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
days.add(day);
|
|
256
|
+
}
|
|
257
|
+
JPushInterface.setPushTime(reactContext, days, startHour, endHour);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
@ReactMethod
|
|
261
|
+
public void setSilenceTime(ReadableMap readableMap) {
|
|
262
|
+
if (readableMap == null) {
|
|
263
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
int startHour = readableMap.getInt(JConstants.SILENCE_TIME_START_HOUR);
|
|
267
|
+
int startMinute = readableMap.getInt(JConstants.SILENCE_TIME_START_MINUTE);
|
|
268
|
+
int endHour = readableMap.getInt(JConstants.SILENCE_TIME_END_HOUR);
|
|
269
|
+
int endMinute = readableMap.getInt(JConstants.SILENCE_TIME_END_MINUTE);
|
|
270
|
+
if (startHour < 0 || startHour > 23 || startMinute < 0 || startMinute > 59
|
|
271
|
+
|| endHour < 0 || endHour > 23 || endMinute < 0 || endMinute > 59) {
|
|
272
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
JPushInterface.setSilenceTime(reactContext, startHour, startMinute, endHour, endMinute);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
@ReactMethod
|
|
279
|
+
public void getRegistrationID(Callback callback) {
|
|
280
|
+
if (callback == null) {
|
|
281
|
+
JLogger.w(JConstants.CALLBACK_NULL);
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
String registrationID = JPushInterface.getRegistrationID(reactContext);
|
|
285
|
+
WritableMap writableMap = Arguments.createMap();
|
|
286
|
+
writableMap.putString(JConstants.REGISTRATION_ID, registrationID);
|
|
287
|
+
callback.invoke(writableMap);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
@ReactMethod
|
|
291
|
+
public void getUdid(Callback callback) {
|
|
292
|
+
if (callback == null) {
|
|
293
|
+
JLogger.w(JConstants.CALLBACK_NULL);
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
String udid = JPushInterface.getUdid(reactContext);
|
|
297
|
+
callback.invoke(udid);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
@ReactMethod
|
|
301
|
+
public void setLatestNotificationNumber(ReadableMap readableMap) {
|
|
302
|
+
if (readableMap == null) {
|
|
303
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
if (readableMap.hasKey(JConstants.NOTIFICATION_MAX_NUMBER)) {
|
|
307
|
+
int maxNumber = readableMap.getInt(JConstants.NOTIFICATION_MAX_NUMBER);
|
|
308
|
+
JPushInterface.setLatestNotificationNumber(reactContext, maxNumber);
|
|
309
|
+
} else {
|
|
310
|
+
JLogger.w("there are no " + JConstants.NOTIFICATION_MAX_NUMBER);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
@ReactMethod
|
|
315
|
+
public void setDefaultPushNotificationBuilder(ReadableMap readableMap) {
|
|
316
|
+
if (readableMap == null) {
|
|
317
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
BasicPushNotificationBuilder builder = new BasicPushNotificationBuilder(reactContext);
|
|
321
|
+
JPushInterface.setDefaultPushNotificationBuilder(builder);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
@ReactMethod
|
|
325
|
+
public void filterValidTags(ReadableMap readableMap, Callback callback) {
|
|
326
|
+
if (readableMap == null) {
|
|
327
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
330
|
+
if (readableMap.hasKey(JConstants.TAGS)) {
|
|
331
|
+
ReadableArray tags = readableMap.getArray(JConstants.TAGS);
|
|
332
|
+
Set<String> tagSet = new HashSet<>();
|
|
333
|
+
for (int i = 0; i < tags.size(); i++) {
|
|
334
|
+
String tag = tags.getString(i);
|
|
335
|
+
tagSet.add(tag);
|
|
336
|
+
}
|
|
337
|
+
JPushInterface.filterValidTags(tagSet);
|
|
338
|
+
} else {
|
|
339
|
+
JLogger.w("there are no " + JConstants.TAGS);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
@ReactMethod
|
|
343
|
+
public void setProperties(ReadableMap readableMap) {
|
|
344
|
+
if (readableMap == null) {
|
|
345
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
if (readableMap.hasKey(JConstants.PROPERTIES)) {
|
|
349
|
+
int sequence = readableMap.getInt(JConstants.SEQUENCE);
|
|
350
|
+
ReadableMap readMap = readableMap.getMap(JConstants.PROPERTIES);
|
|
351
|
+
HashMap<String, Object> properties = readMap != null ? readMap.toHashMap() : new HashMap<String, Object>();
|
|
352
|
+
JPushInterface.setProperties(reactContext,sequence,properties);
|
|
353
|
+
} else {
|
|
354
|
+
JLogger.w("there are no " + JConstants.PROPERTIES);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
@ReactMethod
|
|
358
|
+
public void deleteProperties(ReadableMap readableMap) {
|
|
359
|
+
if (readableMap == null) {
|
|
360
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
if (readableMap.hasKey(JConstants.PROPERTIES)) {
|
|
364
|
+
int sequence = readableMap.getInt(JConstants.SEQUENCE);
|
|
365
|
+
ReadableMap readMap = readableMap.getMap(JConstants.PROPERTIES);
|
|
366
|
+
HashMap<String, Object> properties = readMap != null ? readMap.toHashMap() : new HashMap<String, Object>();
|
|
367
|
+
JPushInterface.deleteProperties(reactContext,sequence,properties);
|
|
368
|
+
} else {
|
|
369
|
+
JLogger.w("there are no " + JConstants.PROPERTIES);
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
}
|
|
373
|
+
@ReactMethod
|
|
374
|
+
public void cleanProperties(ReadableMap readableMap) {
|
|
375
|
+
if (readableMap == null) {
|
|
376
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
377
|
+
return;
|
|
378
|
+
}
|
|
379
|
+
int sequence = readableMap.getInt(JConstants.SEQUENCE);
|
|
380
|
+
JPushInterface.cleanProperties(reactContext,sequence);
|
|
381
|
+
}
|
|
382
|
+
@ReactMethod
|
|
383
|
+
public void setTags(ReadableMap readableMap) {
|
|
384
|
+
if (readableMap == null) {
|
|
385
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
388
|
+
if (readableMap.hasKey(JConstants.TAGS)) {
|
|
389
|
+
ReadableArray tags = readableMap.getArray(JConstants.TAGS);
|
|
390
|
+
int sequence = readableMap.getInt(JConstants.SEQUENCE);
|
|
391
|
+
Set<String> tagSet = new HashSet<>();
|
|
392
|
+
for (int i = 0; i < tags.size(); i++) {
|
|
393
|
+
String tag = tags.getString(i);
|
|
394
|
+
tagSet.add(tag);
|
|
395
|
+
}
|
|
396
|
+
JPushInterface.setTags(reactContext, sequence, tagSet);
|
|
397
|
+
} else {
|
|
398
|
+
JLogger.w("there are no " + JConstants.TAGS);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
@ReactMethod
|
|
403
|
+
public void addTags(ReadableMap readableMap) {
|
|
404
|
+
if (readableMap == null) {
|
|
405
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
406
|
+
return;
|
|
407
|
+
}
|
|
408
|
+
if (readableMap.hasKey(JConstants.TAGS)) {
|
|
409
|
+
ReadableArray tags = readableMap.getArray(JConstants.TAGS);
|
|
410
|
+
int sequence = readableMap.getInt(JConstants.SEQUENCE);
|
|
411
|
+
Set<String> tagSet = new HashSet<>();
|
|
412
|
+
for (int i = 0; i < tags.size(); i++) {
|
|
413
|
+
String tag = tags.getString(i);
|
|
414
|
+
tagSet.add(tag);
|
|
415
|
+
}
|
|
416
|
+
JPushInterface.addTags(reactContext, sequence, tagSet);
|
|
417
|
+
} else {
|
|
418
|
+
JLogger.w("there are no " + JConstants.TAGS);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
@ReactMethod
|
|
423
|
+
public void deleteTags(ReadableMap readableMap) {
|
|
424
|
+
if (readableMap == null) {
|
|
425
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
428
|
+
if (readableMap.hasKey(JConstants.TAGS)) {
|
|
429
|
+
ReadableArray tags = readableMap.getArray(JConstants.TAGS);
|
|
430
|
+
int sequence = readableMap.getInt(JConstants.SEQUENCE);
|
|
431
|
+
Set<String> tagSet = new HashSet<>();
|
|
432
|
+
for (int i = 0; i < tags.size(); i++) {
|
|
433
|
+
String tag = tags.getString(i);
|
|
434
|
+
tagSet.add(tag);
|
|
435
|
+
}
|
|
436
|
+
JPushInterface.deleteTags(reactContext, sequence, tagSet);
|
|
437
|
+
} else {
|
|
438
|
+
JLogger.w("there are no " + JConstants.TAGS);
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
@ReactMethod
|
|
443
|
+
public void cleanTags(ReadableMap readableMap) {
|
|
444
|
+
if (readableMap == null) {
|
|
445
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
446
|
+
return;
|
|
447
|
+
}
|
|
448
|
+
int sequence = readableMap.getInt(JConstants.SEQUENCE);
|
|
449
|
+
JPushInterface.cleanTags(reactContext, sequence);
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
@ReactMethod
|
|
453
|
+
public void getAllTags(ReadableMap readableMap) {
|
|
454
|
+
if (readableMap == null) {
|
|
455
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
456
|
+
return;
|
|
457
|
+
}
|
|
458
|
+
int sequence = readableMap.getInt(JConstants.SEQUENCE);
|
|
459
|
+
JPushInterface.getAllTags(reactContext, sequence);
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
@ReactMethod
|
|
463
|
+
public void checkTagBindState(ReadableMap readableMap) {
|
|
464
|
+
if (readableMap == null) {
|
|
465
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
466
|
+
return;
|
|
467
|
+
}
|
|
468
|
+
int sequence = readableMap.getInt(JConstants.SEQUENCE);
|
|
469
|
+
String tag = readableMap.getString(JConstants.TAG);
|
|
470
|
+
JPushInterface.checkTagBindState(reactContext, sequence, tag);
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
@ReactMethod
|
|
474
|
+
public void setAlias(ReadableMap readableMap) {
|
|
475
|
+
if (readableMap == null) {
|
|
476
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
477
|
+
return;
|
|
478
|
+
}
|
|
479
|
+
int sequence = readableMap.getInt(JConstants.SEQUENCE);
|
|
480
|
+
String alias = readableMap.getString(JConstants.ALIAS);
|
|
481
|
+
JPushInterface.setAlias(reactContext, sequence, alias);
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
@ReactMethod
|
|
485
|
+
public void deleteAlias(ReadableMap readableMap) {
|
|
486
|
+
if (readableMap == null) {
|
|
487
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
488
|
+
return;
|
|
489
|
+
}
|
|
490
|
+
int sequence = readableMap.getInt(JConstants.SEQUENCE);
|
|
491
|
+
JPushInterface.deleteAlias(reactContext, sequence);
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
@ReactMethod
|
|
495
|
+
public void getAlias(ReadableMap readableMap) {
|
|
496
|
+
if (readableMap == null) {
|
|
497
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
498
|
+
return;
|
|
499
|
+
}
|
|
500
|
+
int sequence = readableMap.getInt(JConstants.SEQUENCE);
|
|
501
|
+
JPushInterface.getAlias(reactContext, sequence);
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
@ReactMethod
|
|
505
|
+
public void setMobileNumber(ReadableMap readableMap) {
|
|
506
|
+
if (readableMap == null) {
|
|
507
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
508
|
+
return;
|
|
509
|
+
}
|
|
510
|
+
int sequence = readableMap.getInt(JConstants.SEQUENCE);
|
|
511
|
+
String mobileNumber = readableMap.getString(JConstants.MOBILE_NUMBER);
|
|
512
|
+
JPushInterface.setMobileNumber(reactContext, sequence, mobileNumber);
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
@ReactMethod
|
|
516
|
+
public void onResume() {
|
|
517
|
+
JPushInterface.onResume(reactContext);
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
@ReactMethod
|
|
521
|
+
public void onPause() {
|
|
522
|
+
JPushInterface.onPause(reactContext);
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
@ReactMethod
|
|
526
|
+
public void onKillProcess() {
|
|
527
|
+
JPushInterface.onKillProcess(reactContext);
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
@ReactMethod
|
|
531
|
+
public void initCrashHandler() {
|
|
532
|
+
JPushInterface.initCrashHandler(reactContext);
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
@ReactMethod
|
|
536
|
+
public void stopCrashHandler() {
|
|
537
|
+
JPushInterface.stopCrashHandler(reactContext);
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
@ReactMethod
|
|
541
|
+
public void addLocalNotification(ReadableMap readableMap) {
|
|
542
|
+
if (readableMap == null) {
|
|
543
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
544
|
+
return;
|
|
545
|
+
}
|
|
546
|
+
if (!readableMap.hasKey(JConstants.MESSAGE_ID)) {
|
|
547
|
+
JLogger.w(JConstants.PARAMS_ILLEGAL);
|
|
548
|
+
return;
|
|
549
|
+
}
|
|
550
|
+
String notificationID = readableMap.getString(JConstants.MESSAGE_ID);
|
|
551
|
+
if(notificationID==null || TextUtils.isEmpty(notificationID)){
|
|
552
|
+
JLogger.w(JConstants.PARAMS_ILLEGAL);
|
|
553
|
+
return;
|
|
554
|
+
}
|
|
555
|
+
long id = parseNotificationId(notificationID);
|
|
556
|
+
String notificationTitle = readableMap.hasKey(JConstants.TITLE) ? readableMap.getString(JConstants.TITLE) : reactContext.getPackageName();
|
|
557
|
+
String notificationContent = readableMap.hasKey(JConstants.CONTENT) ? readableMap.getString(JConstants.CONTENT) : reactContext.getPackageName();
|
|
558
|
+
String broadcastTime = readableMap.hasKey(JConstants.BROADCAST_TIME) ? readableMap.getString(JConstants.BROADCAST_TIME) : "0";
|
|
559
|
+
JPushLocalNotification notification = new JPushLocalNotification();
|
|
560
|
+
notification.setNotificationId(id);
|
|
561
|
+
notification.setTitle(notificationTitle);
|
|
562
|
+
notification.setContent(notificationContent);
|
|
563
|
+
try {
|
|
564
|
+
notification.setBroadcastTime(Long.parseLong(broadcastTime));
|
|
565
|
+
}catch (Throwable throwable){
|
|
566
|
+
}
|
|
567
|
+
if (readableMap.hasKey(JConstants.EXTRAS)) {
|
|
568
|
+
ReadableMap notificationExtra = readableMap.getMap(JConstants.EXTRAS);
|
|
569
|
+
JSONObject notificationExtraJson = new JSONObject(notificationExtra.toHashMap());
|
|
570
|
+
notification.setExtras(notificationExtraJson.toString());
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
// 设置BuilderId
|
|
574
|
+
if (readableMap.hasKey(JConstants.BUILDER_NAME)) {
|
|
575
|
+
try {
|
|
576
|
+
String layoutFileName = readableMap.getString(JConstants.BUILDER_NAME);
|
|
577
|
+
if (!TextUtils.isEmpty(layoutFileName)) {
|
|
578
|
+
// 通过布局文件名获取资源ID
|
|
579
|
+
int builderId = reactContext.getResources().getIdentifier(
|
|
580
|
+
layoutFileName,
|
|
581
|
+
"layout",
|
|
582
|
+
reactContext.getPackageName()
|
|
583
|
+
);
|
|
584
|
+
if (builderId != 0) {
|
|
585
|
+
notification.setBuilderId(builderId);
|
|
586
|
+
} else {
|
|
587
|
+
JLogger.w("Layout file not found: " + layoutFileName);
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
} catch (Exception e) {
|
|
591
|
+
JLogger.w("Failed to set BuilderId: " + e.getMessage());
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
// 设置Category
|
|
596
|
+
if (readableMap.hasKey(JConstants.CATEGORY)) {
|
|
597
|
+
String category = readableMap.getString(JConstants.CATEGORY);
|
|
598
|
+
if (!TextUtils.isEmpty(category)) {
|
|
599
|
+
notification.setCategory(category);
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
// 设置Priority
|
|
604
|
+
if (readableMap.hasKey(JConstants.PRIORITY)) {
|
|
605
|
+
try {
|
|
606
|
+
int priority = readableMap.getInt(JConstants.PRIORITY);
|
|
607
|
+
notification.setPriority(priority);
|
|
608
|
+
} catch (Exception e) {
|
|
609
|
+
JLogger.w("Priority must be a number");
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
JPushInterface.addLocalNotification(reactContext, notification);
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
private static long parseNotificationId(String notificationID) {
|
|
617
|
+
try {
|
|
618
|
+
return Long.parseLong(notificationID);
|
|
619
|
+
} catch (NumberFormatException ignored) {
|
|
620
|
+
return (long) notificationID.hashCode();
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
@ReactMethod
|
|
625
|
+
public void removeLocalNotification(ReadableMap readableMap) {
|
|
626
|
+
if (readableMap == null) {
|
|
627
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
628
|
+
return;
|
|
629
|
+
}
|
|
630
|
+
if (readableMap.hasKey(JConstants.MESSAGE_ID)) {
|
|
631
|
+
String notificationID = readableMap.getString(JConstants.MESSAGE_ID);
|
|
632
|
+
if(notificationID==null || TextUtils.isEmpty(notificationID)){
|
|
633
|
+
JLogger.w(JConstants.PARAMS_ILLEGAL);
|
|
634
|
+
return;
|
|
635
|
+
}
|
|
636
|
+
long id = parseNotificationId(notificationID);
|
|
637
|
+
JPushInterface.removeLocalNotification(reactContext, id);
|
|
638
|
+
} else {
|
|
639
|
+
JLogger.w("there are no " + JConstants.MESSAGE_ID);
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
@ReactMethod
|
|
644
|
+
public void clearLocalNotifications() {
|
|
645
|
+
JPushInterface.clearLocalNotifications(reactContext);
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
@ReactMethod
|
|
649
|
+
public void requestPermission() {
|
|
650
|
+
Activity current = getCurrentActivity();
|
|
651
|
+
JPushInterface.requestPermission(current != null ? current : reactContext);
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
@ReactMethod
|
|
655
|
+
public void setGeofenceInterval(ReadableMap readableMap) {
|
|
656
|
+
if (readableMap == null) {
|
|
657
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
658
|
+
return;
|
|
659
|
+
}
|
|
660
|
+
if (readableMap.hasKey(JConstants.GEO_FENCE_INTERVAL)) {
|
|
661
|
+
int interval = readableMap.getInt(JConstants.GEO_FENCE_INTERVAL);
|
|
662
|
+
JPushInterface.setGeofenceInterval(reactContext, interval);
|
|
663
|
+
} else {
|
|
664
|
+
JLogger.w("there are no " + JConstants.GEO_FENCE_INTERVAL);
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
@ReactMethod
|
|
669
|
+
public void setMaxGeofenceNumber(ReadableMap readableMap) {
|
|
670
|
+
if (readableMap == null) {
|
|
671
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
672
|
+
return;
|
|
673
|
+
}
|
|
674
|
+
if (readableMap.hasKey(JConstants.GEO_FENCE_MAX_NUMBER)) {
|
|
675
|
+
int maxNumber = readableMap.getInt(JConstants.GEO_FENCE_MAX_NUMBER);
|
|
676
|
+
JPushInterface.setMaxGeofenceNumber(reactContext, maxNumber);
|
|
677
|
+
} else {
|
|
678
|
+
JLogger.w("there are no " + JConstants.GEO_FENCE_MAX_NUMBER);
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
@ReactMethod
|
|
683
|
+
public void deleteGeofence(ReadableMap readableMap) {
|
|
684
|
+
if (readableMap == null) {
|
|
685
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
686
|
+
return;
|
|
687
|
+
}
|
|
688
|
+
if (readableMap.hasKey(JConstants.GEO_FENCE_ID)) {
|
|
689
|
+
String id = readableMap.getString(JConstants.GEO_FENCE_ID);
|
|
690
|
+
JPushInterface.deleteGeofence(reactContext, id);
|
|
691
|
+
} else {
|
|
692
|
+
JLogger.w("there are no " + JConstants.GEO_FENCE_ID);
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
@ReactMethod
|
|
697
|
+
public void clearAllNotifications(){
|
|
698
|
+
JPushInterface.clearAllNotifications(reactContext);
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
@ReactMethod
|
|
702
|
+
public void clearNotificationById(ReadableMap readableMap){
|
|
703
|
+
if (readableMap == null){
|
|
704
|
+
JLogger.w(JConstants.PARAMS_NULL);
|
|
705
|
+
return;
|
|
706
|
+
}
|
|
707
|
+
if (readableMap.hasKey(JConstants.NOTIFICATION_ID)){
|
|
708
|
+
Integer id = readableMap.getInt(JConstants.NOTIFICATION_ID);
|
|
709
|
+
JPushInterface.clearNotificationById(reactContext,id);
|
|
710
|
+
}else {
|
|
711
|
+
JLogger.w("there are no " + JConstants.GEO_FENCE_ID);
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
@ReactMethod
|
|
716
|
+
public void setPowerSaveMode(boolean bool){
|
|
717
|
+
JPushInterface.setPowerSaveMode(reactContext,bool);
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
@ReactMethod
|
|
721
|
+
public void isNotificationEnabled(Callback callback){
|
|
722
|
+
Integer isEnabled = JPushInterface.isNotificationEnabled(reactContext);
|
|
723
|
+
if (callback == null){
|
|
724
|
+
JLogger.w(JConstants.CALLBACK_NULL);
|
|
725
|
+
return;
|
|
726
|
+
}
|
|
727
|
+
callback.invoke(isEnabled);
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
|
|
731
|
+
//*****************************应用前后台状态监听*****************************
|
|
732
|
+
public static void registerActivityLifecycle(Application application) {
|
|
733
|
+
application.registerActivityLifecycleCallbacks(new Application.ActivityLifecycleCallbacks() {
|
|
734
|
+
@Override
|
|
735
|
+
public void onActivityCreated(Activity activity, Bundle bundle) {
|
|
736
|
+
JLogger.d("onActivityCreated");
|
|
737
|
+
}
|
|
738
|
+
|
|
739
|
+
@Override
|
|
740
|
+
public void onActivityStarted(Activity activity) {
|
|
741
|
+
JLogger.d("onActivityStarted");
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
@Override
|
|
745
|
+
public void onActivityResumed(Activity activity) {
|
|
746
|
+
JLogger.d("onActivityResumed");
|
|
747
|
+
isAppForeground = true;
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
@Override
|
|
751
|
+
public void onActivityPaused(Activity activity) {
|
|
752
|
+
JLogger.d("onActivityPaused");
|
|
753
|
+
isAppForeground = false;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
@Override
|
|
757
|
+
public void onActivityStopped(Activity activity) {
|
|
758
|
+
JLogger.d("onActivityStopped");
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
@Override
|
|
762
|
+
public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
|
|
763
|
+
JLogger.d("onActivitySaveInstanceState");
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
@Override
|
|
767
|
+
public void onActivityDestroyed(Activity activity) {
|
|
768
|
+
JLogger.d("onActivityDestroyed");
|
|
769
|
+
}
|
|
770
|
+
});
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
}
|