我正在尝试在移动设备的WebView
应用程序中打开输入type="file"
文件选择器,但是其他相关问题中提供的解决方案适用于早期Android版本,在Android 9上似乎无法正常工作。 问题似乎出在这个特定的代码片段:
//For Lollipop 5.0+ Devices:
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, WebChromeClient.FileChooserParams fileChooserParams)
{
if (uploadMessage != null) {
uploadMessage.onReceiveValue(null);
uploadMessage = null;
}
uploadMessage = filePathCallback;
Intent intent = fileChooserParams.createIntent();
try
{
startActivityForResult(intent, REQUEST_SELECT_FILE);
} catch (ActivityNotFoundException e)
{
uploadMessage = null;
Toast.makeText(MainActivity.this, "Error: Unable to open file browser", Toast.LENGTH_LONG).show();
return false;
}
return true;
}