diff --git a/src/android/JPushPlugin.java b/src/android/JPushPlugin.java index 7f17ce8..da281b9 100644 --- a/src/android/JPushPlugin.java +++ b/src/android/JPushPlugin.java @@ -74,6 +74,17 @@ public class JPushPlugin extends CordovaPlugin { return data; } + private static JSONObject openNotificationObject(String alert, + Map extras){ + JSONObject data = new JSONObject(); + try { + data.put("alert", alert); + data.put("extras", new JSONObject(extras)); + } catch (JSONException e) { + + } + return data; + } static void transmitPush(String message, Map extras) { if (instance == null) { return; @@ -90,7 +101,22 @@ public class JPushPlugin extends CordovaPlugin { } } + static void transmitOpen(String alert, Map extras) { + if (instance == null) { + return; + } + JSONObject data = openNotificationObject(alert, extras); + String js = String + .format("window.plugins.jPushPlugin.openNotificationCallback(%s);", + data.toString()); + try { + instance.webView.sendJavascript(js); + } catch (NullPointerException e) { + } catch (Exception e) { + + } + } @Override public boolean execute(final String action, final JSONArray data, final CallbackContext callbackContext) throws JSONException { @@ -348,10 +374,10 @@ public class JPushPlugin extends CordovaPlugin { .format("cordova.fireDocumentEvent('jpush.setTagsWithAlias',%s)", data.toString()); instance.webView.sendJavascript(jsEvent); - String js = String - .format("window.plugins.jPushPlugin.pushCallback('%s');", - data.toString()); - instance.webView.sendJavascript(js); +// String js = String +// .format("window.plugins.jPushPlugin.pushCallback('%s');", +// data.toString()); +// instance.webView.sendJavascript(js); } catch (JSONException e) { diff --git a/src/android/MyReceiver.java b/src/android/MyReceiver.java index 5734cf1..ce2426f 100644 --- a/src/android/MyReceiver.java +++ b/src/android/MyReceiver.java @@ -50,6 +50,8 @@ public class MyReceiver extends BroadcastReceiver { JPushPlugin.notificationAlert = alert; JPushPlugin.notificationExtras = extras; + JPushPlugin.transmitOpen(alert, extras); + context.startActivity(launch); } private Map getNotificationExtras(Intent intent) { diff --git a/www/JPushPlugin.js b/www/JPushPlugin.js index 6365a21..c70c49c 100644 --- a/www/JPushPlugin.js +++ b/www/JPushPlugin.js @@ -80,10 +80,22 @@ JPushPlugin.prototype.pushCallback = function(data){ try{ console.log(data); var bToObj=JSON.parse(data); - var code = bToObj.resultCode; - var tags = bToObj.resultTags; - var alias = bToObj.resultAlias; - console.log("JPushPlugin:callBack--code is "+code+" tags is "+tags + " alias is "+alias); + var message = bToObj.message; + var extras = bToObj.extras; + console.log("JPushPlugin:pushCallback--message is "+message+" extras is "+extras ); + } + catch(exception){ + console.log(exception); + } +} +// +JPushPlugin.prototype.openNotificationCallback = function(data){ + try{ + console.log(data); + var bToObj = JSON.parse(data); + var alert = bToObj.alert; + var extras = bToObj.extras; + console.log("JPushPlugin:openNotificationCallback--alert is "+code+" extras is "+extras); } catch(exception){ console.log(exception);