mirror of
https://bitbucket.org/TheBosZ/cordova-plugin-run-in-background
synced 2024-12-23 05:47:35 +00:00
Merged in Menardi/cordova-plugin-run-in-background/visibility (pull request #1)
Add ability to set Android notification visibility
This commit is contained in:
parent
a3063aed68
commit
0da2006f7c
@ -149,7 +149,8 @@ cordova.plugins.backgroundMode.setDefaults({
|
||||
allowClose: Boolean, // add a "Close" action to the notification
|
||||
closeIcon: 'power', // An icon shown for the close action
|
||||
closeTitle: 'Close', // The text for the close action
|
||||
showWhen: Boolean //(Default: true) Show the time since the notification was created
|
||||
showWhen: Boolean, //(Default: true) Show the time since the notification was created
|
||||
visibility: String, // Android only: one of 'private' (default), 'public' or 'secret' (see https://developer.android.com/reference/android/app/Notification.Builder.html#setVisibility(int))
|
||||
})
|
||||
```
|
||||
|
||||
@ -174,7 +175,7 @@ Various APIs like playing media or tracking GPS position in background might not
|
||||
|
||||
```js
|
||||
cordova.plugins.backgroundMode.on('activate', function() {
|
||||
cordova.plugins.backgroundMode.disableWebViewOptimizations();
|
||||
cordova.plugins.backgroundMode.disableWebViewOptimizations();
|
||||
});
|
||||
```
|
||||
|
||||
|
@ -189,6 +189,7 @@ public class ForegroundService extends Service {
|
||||
String text = settings.optString("text", NOTIFICATION_TEXT);
|
||||
boolean bigText = settings.optBoolean("bigText", false);
|
||||
String subText = settings.optString("subText", "");
|
||||
String visibility = settings.optString("visibility", "");
|
||||
|
||||
Context context = getApplicationContext();
|
||||
String pkgName = context.getPackageName();
|
||||
@ -224,6 +225,10 @@ public class ForegroundService extends Service {
|
||||
new NotificationCompat.BigTextStyle().bigText(text));
|
||||
}
|
||||
|
||||
if (!visibility.equals("")) {
|
||||
notification.setVisibility(getVisibility(visibility));
|
||||
}
|
||||
|
||||
setColor(notification, settings);
|
||||
|
||||
if (intent != null && settings.optBoolean("resume")) {
|
||||
@ -309,6 +314,23 @@ public class ForegroundService extends Service {
|
||||
return res.getIdentifier(icon, type, pkgName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the visibility constant from a string.
|
||||
*
|
||||
* @param visibility one of 'public', 'private', 'secret'
|
||||
*
|
||||
* @return The visibility constant if a match is found, 'private' otherwise
|
||||
*/
|
||||
private int getVisibility (String visibility)
|
||||
{
|
||||
if (visibility.equals("public")) {
|
||||
return Notification.VISIBILITY_PUBLIC;
|
||||
} else if (visibility.equals("secret")) {
|
||||
return Notification.VISIBILITY_SECRET;
|
||||
} else {
|
||||
return Notification.VISIBILITY_PRIVATE;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Set notification color if its supported by the SDK.
|
||||
*
|
||||
|
@ -424,7 +424,8 @@ exports._defaults = {
|
||||
allowClose: false,
|
||||
closeIcon: 'power',
|
||||
closeTitle: 'Close',
|
||||
showWhen: true
|
||||
showWhen: true,
|
||||
visibility: undefined
|
||||
};
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user