簡體   English   中英

Android活動未完全關閉

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM