android webview访问媒体文件问题
嗨,伙计们,我想让一个应用程序简单地上传一个网页来转换文件类型。但即使给予manifest.xml所需的权限,我也无法通过webview访问我的文件。这是我的mainactivity代码。无论我如何努力实现解决方案,我都无法做到。你能帮我吗?先谢谢你android webview访问媒体文件问题,android,android-activity,webview,Android,Android Activity,Webview,嗨,伙计们,我想让一个应用程序简单地上传一个网页来转换文件类型。但即使给予manifest.xml所需的权限,我也无法通过webview访问我的文件。这是我的mainactivity代码。无论我如何努力实现解决方案,我都无法做到。你能帮我吗?先谢谢你 public class MainActivity extends AppCompatActivity { public static boolean hasPermissions(Context context, String... permi
public class MainActivity extends AppCompatActivity {
public static boolean hasPermissions(Context context, String... permissions) {
if (context != null && permissions != null) {
for (String permission : permissions) {
if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
return false;
}
}
}
return true;
}
String ShowOrHideWebViewInitialUse = "show";
private WebView webview ;
private ProgressBar spinner;
String myurl = "https://pdftoimage.com/tr/"; //buraya görüntülemek istenen url yazılmalı
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
@Override
protected void onCreate(Bundle savedInstanceState) {
int PERMISSION_ALL = 1;
String[] PERMISSIONS = {
android.Manifest.permission.CAMERA,
android.Manifest.permission.RECORD_AUDIO,
android.Manifest.permission.READ_EXTERNAL_STORAGE,
android.Manifest.permission.WRITE_EXTERNAL_STORAGE
};
if (!hasPermissions(this, PERMISSIONS)) {
ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSION_ALL);
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webview =(WebView)findViewById(R.id.webView);
spinner = (ProgressBar)findViewById(R.id.progressBar1);
WebSettings settings = webview.getSettings();
webview.getSettings().setMediaPlaybackRequiresUserGesture(false);
settings.setUserAgentString("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36");
webview.setWebViewClient(new CustomWebViewClient());
webview.getSettings().setBuiltInZoomControls(true);
webview.getSettings().setSupportZoom(true);
webview.getSettings().setAllowFileAccess(true);
webview.getSettings().setUseWideViewPort(true);
webview.getSettings().setLoadWithOverviewMode(true);
webview.getSettings().setDomStorageEnabled(true);
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setDomStorageEnabled(true);
webview.setOverScrollMode(WebView.OVER_SCROLL_NEVER);
webview.loadUrl(myurl);
webview.setWebChromeClient(new WebChromeClient() {
@Override
public void onPermissionRequest(final PermissionRequest request) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
request.grant(request.getResources());
}
}
});
}