[英]Android activity doesn't close completely
我有一個人行橫道使用的javascript界面,它具有closeActivity
方法。 該界面如下所示:
public class JavaScriptInterface {
private Activity activity;
public JavaScriptInterface(Activity activity) {
this.activity = activity;
}
/**
* Starts a new activity
* @param page
* @return
*/
@JavascriptInterface
public boolean openActivity(String page){
if(isConnected()) {
Intent intent = new Intent(activity, GenericActivity.class);
intent.putExtra("page", page);
activity.startActivity(intent);
return true;
}
return false;
}
/**
* Closes the current activity
*/
@JavascriptInterface
public void closeActivity(){
activity.finish();
}
}
這是啟動的活動:
public class GenericActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_generic);
Intent intent = getIntent();
String page = intent.getStringExtra("page");
XWalkView xWalkWebView = (XWalkView)findViewById(R.id.xwalkWebView);
// Turn on debugging if we are in DEBUG mode
if (BuildConfig.DEBUG) {
XWalkPreferences.setValue(XWalkPreferences.REMOTE_DEBUGGING, true);
xWalkWebView.clearCache(true);
}
// Add the connector to talk to/from javascript
JavaScriptInterface i = new JavaScriptInterface(this);
xWalkWebView.addJavascriptInterface(i, "jsConnector");
// Load the base file
xWalkWebView.loadAppFromManifest("file:///android_asset/manifest.json", null);
xWalkWebView.loadUrl("file:///android_asset/" + page + ".html", null);
}
}
當我調用closeActivity
該活動在視覺上消失了,但是在chrome inspector( chrome:// inspect )中,我仍然可以看到crosswalk webview
。 為什么它仍然在那里,我如何關閉它?
哇! 這是一個超級容易的修復。
在活動中,我所需要做的就是添加view.onDestroy()
如下所示:
@Override
public void onDestroy(){
XWalkView view = (XWalkView)findViewById(R.id.xwalkWebView);
view.onDestroy();
super.onDestroy();
finish();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.