gpt4 book ai didi

android - 文件选择器在 Samsung Tab 3 Android 4.4 中不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:10:58 24 4
gpt4 key购买 nike

我有一个带有文件选择器的 webview,它适用于 Samsung Galaxy Tab 2(Android 4.1.1)、Lenovo、Nexus 平板电脑。但问题是它没有在 Samsung galaxy Tab 3 中唤醒。这是 Android 4.4 平板电脑。我在这里添加了我的 setWebChromeClient 代码。你能请别人帮助我吗?

// implement WebChromeClient inner class
// we will define openFileChooser for select file from camera
webView.setWebChromeClient(new WebChromeClient() {

// openFileChooser for Android 3.0+
public void openFileChooser(ValueCallback<Uri> uploadMsg,
String acceptType) {
/** updated, out of the IF **/
mUploadMessage = uploadMsg;
/** updated, out of the IF **/
Log.e("Reac", "**Here");
try {
File imageStorageDir = new File(base_directory,
"profile_pictures");
if (!imageStorageDir.exists()) {
imageStorageDir.mkdirs();
}
src_file = new File(imageStorageDir + File.separator
+ "IMG_" + child_id + ".jpg");
mCapturedImageURI = Uri.fromFile(src_file); // save to the
// private
// variable

final Intent captureIntent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
captureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
mCapturedImageURI);

startActivityForResult(captureIntent,
FILECHOOSER_RESULTCODE);
} catch (Exception e) {
Toast.makeText(getBaseContext(), "Camera Exception:" + e,
Toast.LENGTH_LONG).show();
}
}



// openFileChooser for Android < 3.0
public void openFileChooser(ValueCallback<Uri> uploadMsg) {
openFileChooser(uploadMsg, "");
}

// openFileChooser for other Android versions
public void openFileChooser(ValueCallback<Uri> uploadMsg,
String acceptType, String capture) {
openFileChooser(uploadMsg, acceptType);
}

/** Added code to clarify chooser. **/

// The webPage has 2 filechoosers and will send a console message
// informing what action to perform, taking a photo or updating the
// file
public boolean onConsoleMessage(ConsoleMessage cm) {
onConsoleMessage(cm.message(), cm.lineNumber(), cm.sourceId());
return true;
}

public void onConsoleMessage(String message, int lineNumber,
String sourceID) {
// Log.d("androidruntime", "Per cÔøΩnsola: " + message);
}
/** Added code to clarify chooser. **/

});

我只添加了一段代码。请询问我是否需要任何详细信息。

最佳答案

似乎有一个known bug在 Android 4.4 中使 <input type="file">不能在 WebView 中工作。

不幸的是openFileChooser不是公共(public) API,也没有对此的公共(public)支持。在 Android Lollipop 中引入了 API onShowFileChooser为此目的。

我的建议是使用 JavaScript native WebView interface 来解决这个问题。并定义由应用程序的 native 部分处理的自定义 openFileChooser API。

关于android - 文件选择器在 Samsung Tab 3 Android 4.4 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31470616/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com