mirror of
https://bitbucket.org/TheBosZ/cordova-plugin-run-in-background
synced 2024-11-14 19:44:53 +00:00
Add ability to re-enable webview optimizations
This commit is contained in:
parent
b33044c8e5
commit
6000adfa15
@ -101,6 +101,9 @@ public class BackgroundModeExt extends CordovaPlugin {
|
|||||||
case "webview":
|
case "webview":
|
||||||
disableWebViewOptimizations();
|
disableWebViewOptimizations();
|
||||||
break;
|
break;
|
||||||
|
case "enableWebview":
|
||||||
|
enableWebViewOptimizations();
|
||||||
|
break;
|
||||||
case "appstart":
|
case "appstart":
|
||||||
openAppStart(args.opt(0));
|
openAppStart(args.opt(0));
|
||||||
break;
|
break;
|
||||||
@ -196,6 +199,31 @@ public class BackgroundModeExt extends CordovaPlugin {
|
|||||||
thread.start();
|
thread.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void enableWebViewOptimizations() {
|
||||||
|
Thread thread = new Thread(){
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
Thread.sleep(1000);
|
||||||
|
getApp().runOnUiThread(() -> {
|
||||||
|
View view = webView.getView();
|
||||||
|
|
||||||
|
try {
|
||||||
|
Class.forName("org.crosswalk.engine.XWalkCordovaView")
|
||||||
|
.getMethod("onHide")
|
||||||
|
.invoke(view);
|
||||||
|
} catch (Exception e){
|
||||||
|
view.dispatchWindowVisibilityChanged(View.GONE);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
thread.start();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disables battery optimizations for the app.
|
* Disables battery optimizations for the app.
|
||||||
* Requires permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS to function.
|
* Requires permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS to function.
|
||||||
|
@ -164,6 +164,14 @@ exports.disableWebViewOptimizations = function()
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
exports.enableWebViewOptimizations = function()
|
||||||
|
{
|
||||||
|
if (this._isAndroid)
|
||||||
|
{
|
||||||
|
cordova.exec(null, null, 'BackgroundModeExt', 'enableWebview', []);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disables battery optimazation mode for the app.
|
* Disables battery optimazation mode for the app.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user