mirror of
https://bitbucket.org/TheBosZ/cordova-plugin-run-in-background
synced 2025-12-15 19:03:31 +00:00
Compare commits
1 Commits
issue/#5-f
...
2-large-ic
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8f26b4299c |
@@ -120,14 +120,6 @@ cordova.plugins.backgroundMode.wakeUp();
|
||||
cordova.plugins.backgroundMode.unlock();
|
||||
```
|
||||
|
||||
### Request to disable battery optimizations
|
||||
Starting in Android 8, apps can be put to sleep to conserve battery. When this happens (usually after 5 minutes or so), the background task is killed. This will cause things like MQTT connections to break.
|
||||
This method will show a permission prompt for the user (only if the app hasn't been granted permission) to ignore the optimization.
|
||||
|
||||
```js
|
||||
cordova.plugins.backgroundMode.disableWebViewOptimizations();
|
||||
```
|
||||
|
||||
### Notification
|
||||
To indicate that the app is executing tasks in background and being paused would disrupt the user, the plug-in has to create a notification while in background - like a download progress bar.
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ import android.app.*;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.os.Binder;
|
||||
import android.os.Build;
|
||||
@@ -189,6 +190,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 largeIcon = settings.optString("largeIcon", null);
|
||||
|
||||
Context context = getApplicationContext();
|
||||
String pkgName = context.getPackageName();
|
||||
@@ -206,6 +208,10 @@ public class ForegroundService extends Service {
|
||||
notification.setSubText(subText);
|
||||
}
|
||||
|
||||
if (largeIcon != null) {
|
||||
notification.setLargeIcon(BitmapFactory.decodeResource(getResources(), getIconResId(largeIcon)));
|
||||
}
|
||||
|
||||
if (settings.optBoolean("allowClose", false)) {
|
||||
|
||||
final Intent clostAppIntent = new Intent("com.backgroundmode.close" + pkgName);
|
||||
|
||||
@@ -222,7 +222,7 @@ NSString* const kAPPBackgroundEventDeactivate = @"deactivate";
|
||||
NSString* flag = [NSString stringWithFormat:@"%@._isActive=%@;",
|
||||
kAPPBackgroundJsNamespace, active];
|
||||
|
||||
NSString* depFn = [NSString stringWithFormat:@"%@.on('%@');",
|
||||
NSString* depFn = [NSString stringWithFormat:@"%@.on%@();",
|
||||
kAPPBackgroundJsNamespace, event];
|
||||
|
||||
NSString* fn = [NSString stringWithFormat:@"%@.fireEvent('%@');",
|
||||
|
||||
@@ -419,6 +419,7 @@ exports._defaults = {
|
||||
hidden: true,
|
||||
color: undefined,
|
||||
icon: 'icon',
|
||||
largeIcon: undefined,
|
||||
channelName: 'cordova-plugin-background-mode',
|
||||
channelDescription: 'cordova-plugin-background-moden notification',
|
||||
allowClose: false,
|
||||
|
||||
Reference in New Issue
Block a user