Allow app to move to foreground (Android)

This commit is contained in:
Sebastián Katzer 2017-01-03 22:06:50 +01:00
parent 5bd6b1f0d8
commit a9877ec0a1
2 changed files with 43 additions and 10 deletions

View File

@ -114,6 +114,11 @@ public class BackgroundMode extends CordovaPlugin {
return true;
}
if (action.equalsIgnoreCase("foreground")) {
moveToForeground();
return true;
}
if (action.equalsIgnoreCase("enable")) {
enableMode();
return true;
@ -162,6 +167,33 @@ public class BackgroundMode extends CordovaPlugin {
stopService();
}
/**
* Move app to background.
*/
private void moveToBackground() {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
cordova.getActivity().startActivity(intent);
}
/**
* Move app to foreground.
*/
private void moveToForeground() {
Context context = cordova.getActivity();
String pkgName = context.getPackageName();
Intent intent = context
.getPackageManager()
.getLaunchIntentForPackage(pkgName);
intent.addFlags(
Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(intent);
}
/**
* Enable the background mode.
*/
@ -308,16 +340,6 @@ public class BackgroundMode extends CordovaPlugin {
thread.start();
}
/**
* Send app to background.
*/
private void moveToBackground() {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
cordova.getActivity().startActivity(intent);
}
/**
* Fire vent with some parameters inside the web view.
*

View File

@ -110,6 +110,17 @@ exports.moveToBackground = function () {
}
};
/**
* Move app to foreground when in background (Android only).
*
* @return [ Void ]
*/
exports.moveToForeground = function () {
if (this.isActive() && device.platform == 'Android') {
cordova.exec(null, null, 'BackgroundMode', 'foreground', []);
}
};
/**
* Override the back button on Android to go to background
* instead of closing the app.