4

アプリにウェブビューがあります。Web ページに参​​照 (ファイルをアップロードする) ボタンがあります。HTC (Android 4.0.3) でアプリをテストすると動作しますが、Galaxy S3 (Android 4.1.1) では動作しません。

ファイル選択メニューが表示されません。どうやら、画面のどこにでも触れても、代わりにボタンをクリックできないようです

"singleCursorHandlerTouchEvent -getEditableSupport FASLE".

私はすべての可能な解決策を試しました。

    // Profile web view
    mWebView = (WebView) findViewById(R.id.itemWebView);
    //improve the speed
    mWebView.getSettings().setRenderPriority(RenderPriority.HIGH);
    mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setSupportZoom(false);
    //setup the file chooser
    mWebView.setWebChromeClient(new WebChromeClient() {
        public void openFileChooser(ValueCallback<Uri> uploadMsg) {  

            mUploadMessage = uploadMsg;
            Intent i = new Intent(Intent.ACTION_GET_CONTENT);
            i.addCategory(Intent.CATEGORY_OPENABLE);
            i.setType("image/*");
            ProfileActivity.this.startActivityForResult(Intent.createChooser(i, "Image Chooser"),FILECHOOSER_RESULTCODE);
        }

        @SuppressWarnings("unused")
        public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType) {
            openFileChooser(uploadMsg);
        }

        @SuppressWarnings("unused")
        public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
            openFileChooser(uploadMsg);
        } 

    });

これは私の onActivityResult 関数です

protected void onActivityResult(int requestCode, int resultCode,
        Intent intent) {
    if (requestCode == FILECHOOSER_RESULTCODE) {
        if (null == mUploadMessage)
            return;
        Uri result = intent == null || resultCode != RESULT_OK ? null
                : intent.getData();
        mUploadMessage.onReceiveValue(result);
        mUploadMessage = null;
    } else {
        System.out.println("Something else->" + requestCode);
    }
}

私の jQuery モバイル Web ページには、単純なフォームがあります。

<form id="edit" method="post" enctype="multipart/form-data" data-ajax="false" action = "profile_myimage.php">
            <div data-role="fieldcontain">
                <label for="image" class="required">Select photo</label>
                <input type="file" name="image" id="image" />
                <p class="error_message" id="img"><p>
            </div>

これを修正するのを手伝ってください。私はあなたの支援に感謝します。

4

3 に答える 3

1

私はこれと同じ問題を抱えていましたが、問題 (Android 2.xx にのみあるようです) は、WebView がフォーカスを受け取らないことでした。

これを行うと、タッチを受信したときに WebView にフォーカスをリクエストできます。

webView.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View view, MotionEvent event) {
        if(event.getAction() == MotionEvent.ACTION_DOWN && !view.hasFocus()) {
            view.requestFocus();
        }
        return false;
    }
});

Android WebViewを参照してください- コンテンツは編集できません

于 2013-07-09T01:40:42.180 に答える
0

WebViewClient とフォームを使用してアプリを開発するのと同じ問題に遭遇しました。解決策は、入力を大きくすることです(オーバーフローしていないことを確認してください)

私のHTMLレイアウトは

<form>
  <div>
    <input type="text" onclick="..." />
    <span>...</span>
  </div>
</form>

いくつかのサイズ変更 CSS が要素に適用されます。親divにはoverflow:hiddenがあったため、ブラウザでページを表示すると入力要素にスクロールバーがありました。これを修正すると、onclick が再び正しく起動し始め、Android アプリから入力を選択できるようになりました。

この質問を見てください(これを理解するのに役立ちました):「singleCursorHandlerTouchEvent -getEditableSupport FASLE」が原因でPhonegapボタンが起動しません

于 2013-02-02T20:55:02.530 に答える
0

同様の問題がありました: singleCursorHandlerTouchEvent -getEditableSupport FASLE

Android (samsung s3 mini) は、ファイル入力用のボタンを含む div 要素にスクロールバーがあることを気に入らなかったようです。

これは私が持っていたものです:

<div style ="overflow: auto; white-space: nowrap;" class="panel-body commentForm" />

そして、これが現在の仕組みです:

<div class="panel-body commentForm" />
于 2014-01-16T09:45:12.353 に答える