mirror of
https://github.com/jpush/jpush-phonegap-plugin.git
synced 2026-05-27 00:00:12 +08:00
iOS 更新到6.0.0,安卓更新到6.0.1版本。iOS SDK 换成cocoapods集成,安卓 SDK换成marven集成。插件版本改成6.0.1
This commit is contained in:
@@ -15,6 +15,7 @@ import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import cn.jpush.android.api.CmdMessage;
|
||||
import cn.jpush.android.api.CustomMessage;
|
||||
import cn.jpush.android.api.JPushInterface;
|
||||
import cn.jpush.android.api.JPushMessage;
|
||||
@@ -86,6 +87,17 @@ public class JPushEventReceiver extends JPushMessageReceiver {
|
||||
cn.jiguang.cordova.push.JPushPlugin.transmitReceiveRegistrationId(regId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCommandResult(Context context, CmdMessage cmdMessage) {
|
||||
super.onCommandResult(context, cmdMessage);
|
||||
if (cmdMessage == null) return;
|
||||
// cmd 2003: getPushStatus / isPushStopped 状态回调。errorCode: 0=未停止, 1=已停止, 其他=异常
|
||||
if (cmdMessage.cmd == 2003) {
|
||||
cn.jiguang.cordova.push.JLogger.d(TAG, "[onCommandResult] getPushStatus, errorCode=" + cmdMessage.errorCode);
|
||||
cn.jiguang.cordova.push.JPushPlugin.onGetPushStatusResult(cmdMessage.errorCode);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(Context context, CustomMessage customMessage) {
|
||||
// super.onMessage(context,customMessage);
|
||||
|
||||
@@ -50,6 +50,9 @@ public class JPushPlugin extends CordovaPlugin {
|
||||
|
||||
static Map<Integer, CallbackContext> eventCallbackMap = new HashMap<Integer, CallbackContext>();
|
||||
|
||||
/** getPushStatus 异步结果通过 JPushMessageReceiver.onCommandResult(cmd==2003) 回调,此处暂存 CallbackContext */
|
||||
static CallbackContext getPushStatusCallbackContext;
|
||||
|
||||
public JPushPlugin() {
|
||||
instance = this;
|
||||
}
|
||||
@@ -329,6 +332,35 @@ public class JPushPlugin extends CordovaPlugin {
|
||||
}
|
||||
}
|
||||
|
||||
void getPushStatus(JSONArray data, CallbackContext callbackContext) {
|
||||
getPushStatusCallbackContext = callbackContext;
|
||||
JPushInterface.getPushStatus(mContext);
|
||||
// 结果在 JPushEventReceiver.onCommandResult 中当 cmd==2003 时回调
|
||||
}
|
||||
|
||||
/**
|
||||
* 由 JPushEventReceiver.onCommandResult 在 cmd==2003 时调用,传递 getPushStatus 异步结果。
|
||||
* 与 iOS 对齐:code=0 表示成功,非 0 表示错误码;isStopped=0 未停止,1 已停止。
|
||||
* Android errorCode: 0=未停止, 1=已停止, 其他=异常。
|
||||
*/
|
||||
static void onGetPushStatusResult(int errorCode) {
|
||||
if (getPushStatusCallbackContext == null) return;
|
||||
try {
|
||||
JSONObject result = new JSONObject();
|
||||
if (errorCode == 0 || errorCode == 1) {
|
||||
result.put("code", 0);
|
||||
result.put("isStopped", errorCode == 1 ? 1 : 0);
|
||||
} else {
|
||||
result.put("code", errorCode);
|
||||
result.put("isStopped", 0);
|
||||
}
|
||||
getPushStatusCallbackContext.success(result);
|
||||
} catch (JSONException e) {
|
||||
getPushStatusCallbackContext.error("getPushStatus result error");
|
||||
}
|
||||
getPushStatusCallbackContext = null;
|
||||
}
|
||||
|
||||
void areNotificationEnabled(JSONArray data, final CallbackContext callback) {
|
||||
int isEnabled;
|
||||
if (hasPermission("OP_POST_NOTIFICATION")) {
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user