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
|
allowClose: Boolean, // add a "Close" action to the notification
|
||||||
closeIcon: 'power', // An icon shown for the close action
|
closeIcon: 'power', // An icon shown for the close action
|
||||||
closeTitle: 'Close', // The text 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))
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -189,6 +189,7 @@ public class ForegroundService extends Service {
|
|||||||
String text = settings.optString("text", NOTIFICATION_TEXT);
|
String text = settings.optString("text", NOTIFICATION_TEXT);
|
||||||
boolean bigText = settings.optBoolean("bigText", false);
|
boolean bigText = settings.optBoolean("bigText", false);
|
||||||
String subText = settings.optString("subText", "");
|
String subText = settings.optString("subText", "");
|
||||||
|
String visibility = settings.optString("visibility", "");
|
||||||
|
|
||||||
Context context = getApplicationContext();
|
Context context = getApplicationContext();
|
||||||
String pkgName = context.getPackageName();
|
String pkgName = context.getPackageName();
|
||||||
@ -224,6 +225,10 @@ public class ForegroundService extends Service {
|
|||||||
new NotificationCompat.BigTextStyle().bigText(text));
|
new NotificationCompat.BigTextStyle().bigText(text));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!visibility.equals("")) {
|
||||||
|
notification.setVisibility(getVisibility(visibility));
|
||||||
|
}
|
||||||
|
|
||||||
setColor(notification, settings);
|
setColor(notification, settings);
|
||||||
|
|
||||||
if (intent != null && settings.optBoolean("resume")) {
|
if (intent != null && settings.optBoolean("resume")) {
|
||||||
@ -309,6 +314,23 @@ public class ForegroundService extends Service {
|
|||||||
return res.getIdentifier(icon, type, pkgName);
|
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.
|
* Set notification color if its supported by the SDK.
|
||||||
*
|
*
|
||||||
|
@ -424,7 +424,8 @@ exports._defaults = {
|
|||||||
allowClose: false,
|
allowClose: false,
|
||||||
closeIcon: 'power',
|
closeIcon: 'power',
|
||||||
closeTitle: 'Close',
|
closeTitle: 'Close',
|
||||||
showWhen: true
|
showWhen: true,
|
||||||
|
visibility: undefined
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user