0

PHPページを開くwebchromeclientのopenFileChooserを実装しました。ギャラリーから画像を選択すると、ギャラリーが再び開きます。つまり、ギャラリーが2回開きます。

これを取り除く方法がわかりません。

ここに私のコードがあります:

public class MyWebChromeClient extends 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/*");
        startActivityForResult(Intent.createChooser(i,"File Chooser"), FILECHOOSER_RESULTCODE);

    }

    public void openFileChooser( ValueCallback<Uri> uploadMsg, String acceptType ) {
        mUploadMessage = uploadMsg;
        Intent i = new Intent(Intent.ACTION_GET_CONTENT);
        i.addCategory(Intent.CATEGORY_OPENABLE);
        i.setType("*/*");
        startActivityForResult(
                Intent.createChooser(i, "File Browser"),
                FILECHOOSER_RESULTCODE);
    }
}

これは 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;

    } 
}
4

1 に答える 1

0

マニフェストファイルをチェックインして、アクティビティを次のように宣言した場合

シングルインスタンス

その場合、Activityonresultメソッドは間違ったタイミングで呼び出されます。

于 2012-11-29T11:11:55.463 に答える