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; return true;
} }
if (action.equalsIgnoreCase("foreground")) {
moveToForeground();
return true;
}
if (action.equalsIgnoreCase("enable")) { if (action.equalsIgnoreCase("enable")) {
enableMode(); enableMode();
return true; return true;
@ -162,6 +167,33 @@ public class BackgroundMode extends CordovaPlugin {
stopService(); 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. * Enable the background mode.
*/ */
@ -308,16 +340,6 @@ public class BackgroundMode extends CordovaPlugin {
thread.start(); 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. * 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 * Override the back button on Android to go to background
* instead of closing the app. * instead of closing the app.