在人行横道浏览器中多次单击任何按钮不起作用

Clicking any button more than once in crosswalk browser does not work

问题:

在人行横道浏览器 (XWalkView) 中多次单击任何 html 页面的任何按钮(html 中的输入标签) 在 Android。 (第一次点击有效,但之后点击按钮任何时候都不会给出任何响应,除了 Eclipse IDE 的 Logcat 中的以下错误,即第一次点击输入类型文件显示文件选择器但点击同一个按钮不止一次,没有反应。但在重新启动应用程序后,这个过程会重复。这真的是一个奇怪的行为。)

错误:

每次单击任何按钮(输入标签)时都会显示此错误消息。

11-20 17:32:04.019: E/chromium(31406): [ERROR:xwalk_autofill_client.cc(170)] Not implemented reached in virtual void xwalk::XWalkAutofillClient::OnFirstUserGestureObserved()

代码:

index.html

<html>
<body>
<form>
<input type="file" accept="*/*"/>
<input type="submit"/>
</form>
</body>
</html>

MainActivity.java

import org.xwalk.core.XWalkView;

import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;

public class MainActivity extends Activity {
    private LinearLayout linearLayout;
    private XWalkView xWalkWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        linearLayout = (LinearLayout) findViewById(R.id.LinearLayout1);
        xWalkWebView = new XWalkView(this.getApplicationContext(), this);
        xWalkWebView.load("file:///android_asset/index.html", null);
        linearLayout.addView(xWalkWebView);
    }
}

添加以下代码解决了问题:

   @Override
   protected void onPause() {
       super.onPause();
       if (mXwalkView != null) {
           mXwalkView.pauseTimers();
           mXwalkView.onHide();
       }
   }

   @Override
   protected void onResume() {
       super.onResume();
       if (mXwalkView != null) {
           mXwalkView.resumeTimers();
           mXwalkView.onShow();
       }
   }

   @Override
   protected void onDestroy() {
       super.onDestroy();
       if (mXwalkView != null) {
           mXwalkView.onDestroy();
       }
   }

   @Override
   protected void onActivityResult(int requestCode, int resultCode, Intent data) {
       if (mXwalkView != null) {
           mXwalkView.onActivityResult(requestCode, resultCode, data);
       }
   }

   @Override
   protected void onNewIntent(Intent intent) {
       if (mXwalkView != null) {
           mXwalkView.onNewIntent(intent);
       }
   }

提到here