mirror of
https://github.com/apache/cordova-android.git
synced 2026-04-23 00:00:09 +08:00
Improve closing an HTML page and returning to previous page.
This commit is contained in:
@@ -44,6 +44,9 @@ public class App extends Plugin {
|
||||
}
|
||||
else if (action.equals("clearHistory")) {
|
||||
this.clearHistory();
|
||||
}
|
||||
else if (action.equals("backHistory")) {
|
||||
this.backHistory();
|
||||
}
|
||||
else if (action.equals("overrideBackbutton")) {
|
||||
this.overrideBackbutton(args.getBoolean(0));
|
||||
@@ -144,9 +147,19 @@ public class App extends Plugin {
|
||||
|
||||
/**
|
||||
* Clear web history in this web view.
|
||||
* This does not have any effect since each page has its own activity.
|
||||
*/
|
||||
public void clearHistory() {
|
||||
((DroidGap)this.ctx).clearHistory();
|
||||
// TODO: Kill previous activities?
|
||||
}
|
||||
|
||||
/**
|
||||
* Go to previous page displayed.
|
||||
* This is the same as pressing the backbutton on Android device.
|
||||
*/
|
||||
public void backHistory() {
|
||||
((DroidGap)this.ctx).endActivity();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -174,7 +187,7 @@ public class App extends Plugin {
|
||||
*/
|
||||
public void exitApp() {
|
||||
((DroidGap)this.ctx).setResult(Activity.RESULT_OK);
|
||||
((DroidGap)this.ctx).onDestroy();
|
||||
((DroidGap)this.ctx).endActivity();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -716,13 +716,6 @@ public class DroidGap extends PhonegapActivity {
|
||||
|
||||
if (this.appView != null) {
|
||||
|
||||
// Make invisible
|
||||
DroidGap.this.runOnUiThread(new Runnable() {
|
||||
public void run() {
|
||||
DroidGap.this.setVisible(false);
|
||||
}
|
||||
});
|
||||
|
||||
// Make sure pause event is sent if onPause hasn't been called before onDestroy
|
||||
this.appView.loadUrl("javascript:try{PhoneGap.onPause.fire();}catch(e){};");
|
||||
|
||||
@@ -816,7 +809,7 @@ public class DroidGap extends PhonegapActivity {
|
||||
|
||||
// Finish current activity
|
||||
if (clearPrev) {
|
||||
this.finish();
|
||||
this.endActivity();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1300,6 +1293,13 @@ public class DroidGap extends PhonegapActivity {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* End this activity by simulating backbutton keypress
|
||||
*/
|
||||
public void endActivity() {
|
||||
super.onKeyDown(KeyEvent.KEYCODE_BACK, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when a key is pressed.
|
||||
*
|
||||
@@ -1408,7 +1408,7 @@ public class DroidGap extends PhonegapActivity {
|
||||
// If terminating app, then shut down this activity too
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
this.setResult(Activity.RESULT_OK);
|
||||
this.onDestroy();
|
||||
this.endActivity();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user