0
我有一个JavaScript界面,我正在使用人行横道,它有一个closeActivity
方法。接口看起来是这样的:Android活动没有完全关闭
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检查(chrome://inspect),我还是可以的看到人行横道webview
。为什么它仍然存在,我如何关闭它?
不太清楚这是为什么发生。您可以重写GenericActivity中的onDestroy(),并在该方法中自己移除/隐藏webView。 – MikeOscarEcho
这样做,它仍然显示在检查员。 –