所有WebView文件上传教程/指南/文章都显示我使用 WebChromeClient 这样
myWebView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, FileChooserParams fileChooserParams) {
mFilePathCallback = filePathCallback;
// Launch Intent for picking file
return true;
}
});
所以在这里我们没有使用我们自己的 WebChromeClient 从单独的文件类扩展原来,我们只是宣布新的笔直的 setWebChromeClient 参数覆盖所有需要的方法,它很酷,但如果我的客户在单独的文件中会怎么样?
如果我的 MainActivity 类看起来像这样
,该怎么办?import com.example.app.ModifiedWebViewClient;
使用后者
webView.setWebChromeClient(new ModifiedWebChromeClient());
我的 ModifiedWebChromeClient 是
public class ModifiedWebChromeClient extends WebChromeClient {
....
我如何将 filePathCallback 从 onShowFileChooser 传回 MainActivity ?
答案 0 :(得分:0)
使用静态变量访问该值。 在MainActivity中声明一个静态变量, 将filePathCallback值分配给该静态变量。
MainActivity.staticvariable=filePathCallback;