Commit 4815d591 by PKnittel

Added Foreground Mode on android

parent 3dde85cf
...@@ -35,6 +35,7 @@ import org.json.JSONArray; ...@@ -35,6 +35,7 @@ import org.json.JSONArray;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import android.app.Activity;
import android.app.AlarmManager; import android.app.AlarmManager;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.app.PendingIntent; import android.app.PendingIntent;
...@@ -43,6 +44,7 @@ import android.content.Intent; ...@@ -43,6 +44,7 @@ import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor; import android.content.SharedPreferences.Editor;
import android.os.Build; import android.os.Build;
import android.widget.Toast;
/** /**
* This plugin utilizes the Android AlarmManager in combination with StatusBar * This plugin utilizes the Android AlarmManager in combination with StatusBar
...@@ -59,6 +61,7 @@ public class LocalNotification extends CordovaPlugin { ...@@ -59,6 +61,7 @@ public class LocalNotification extends CordovaPlugin {
protected static Context context = null; protected static Context context = null;
protected static Boolean isInBackground = true; protected static Boolean isInBackground = true;
private static ArrayList<String> eventQueue = new ArrayList<String>(); private static ArrayList<String> eventQueue = new ArrayList<String>();
static Activity activity;
@Override @Override
public void initialize (CordovaInterface cordova, CordovaWebView webView) { public void initialize (CordovaInterface cordova, CordovaWebView webView) {
...@@ -66,6 +69,7 @@ public class LocalNotification extends CordovaPlugin { ...@@ -66,6 +69,7 @@ public class LocalNotification extends CordovaPlugin {
LocalNotification.webView = super.webView; LocalNotification.webView = super.webView;
LocalNotification.context = super.cordova.getActivity().getApplicationContext(); LocalNotification.context = super.cordova.getActivity().getApplicationContext();
LocalNotification.activity = super.cordova.getActivity();
} }
@Override @Override
...@@ -321,7 +325,6 @@ public class LocalNotification extends CordovaPlugin { ...@@ -321,7 +325,6 @@ public class LocalNotification extends CordovaPlugin {
/** /**
* Clear all notifications without canceling repeating alarms * Clear all notifications without canceling repeating alarms
*
*/ */
public static void clearAll (){ public static void clearAll (){
SharedPreferences settings = getSharedPreferences(); SharedPreferences settings = getSharedPreferences();
...@@ -679,5 +682,16 @@ public class LocalNotification extends CordovaPlugin { ...@@ -679,5 +682,16 @@ public class LocalNotification extends CordovaPlugin {
return arguments; return arguments;
} }
public static void showNotification(String title,String notification){
int duration = Toast.LENGTH_LONG;
if(title.equals("")){
title = "Notification";
}
String text = title + " \n " + notification;
Toast notificationToast = Toast.makeText(context, text, duration);
notificationToast.show();
}
} }
...@@ -79,10 +79,17 @@ public class Receiver extends BroadcastReceiver { ...@@ -79,10 +79,17 @@ public class Receiver extends BroadcastReceiver {
} else { } else {
LocalNotification.add(options.moveDate(), false); LocalNotification.add(options.moveDate(), false);
} }
if (!LocalNotification.isInBackground && options.getForegroundMode()){
if (options.getInterval() == 0) {
LocalNotification.unpersist(options.getId());
}
LocalNotification.showNotification(options.getTitle(), options.getMessage());
fireTriggerEvent();
} else {
Builder notification = buildNotification();
Builder notification = buildNotification(); showNotification(notification);
}
showNotification(notification);
} }
/* /*
......
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