Commit b8da398a by Sebastián Katzer

If the app is not running, the callback has to be called later (#42)

parent 05e1e72e
......@@ -55,6 +55,7 @@ More informations can be found [here](https://build.phonegap.com/plugins/331).
- [enhancement:] Added 'hourly' as a new repeat time aliase.
- [feature:] Repeat with custom intervals on Android.
- **[bugfix:]** Callbacks are called with the ID as a number and not as a string.
- [enhancement:] The background callback on Android is called, even the app is not running when the notification is tapped.
#### Version 0.6.3 (12.12.2013)
- [bugfix:] Black screen on Android.
......
......@@ -21,6 +21,9 @@
package de.appplant.cordova.plugin.localnotification;
import java.util.Timer;
import java.util.TimerTask;
import org.json.JSONException;
import org.json.JSONObject;
......@@ -73,10 +76,22 @@ public class ReceiverActivity extends Activity {
private void invokeBackgroundCallback (Options options) {
String function = options.getBackground();
if (TextUtils.isEmpty(function))
return;
final String js = "setTimeout('" + function + "(\"" + options.getId() + "\")',0)";
// after reboot, LocalNotification.webView is always null
// may be call background callback later
if (!TextUtils.isEmpty(function) && LocalNotification.webView != null) {
LocalNotification.webView.sendJavascript("setTimeout('" + function + "(\"" + options.getId() + "\")',0)");
// call background callback later
if (LocalNotification.webView == null) {
new Timer().schedule(new TimerTask() {
@Override
public void run() {
LocalNotification.webView.sendJavascript(js);
}
}, 4000);
} else {
LocalNotification.webView.sendJavascript(js);
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment