У меня есть тестовый веб-сайт со считывателем штрих-кода, скопированный здесь: [https://a.kabachnik.info/a-javascript-barcode-reader-with-bootstrap-3-and-quaggajs.html]
На моем ноутбуке, использующем браузер Chrome, работает нормально.В моем мобильном телефоне, использующем браузер Chrome, работает нормально.
Проблема в WebView, который я создал в Android Studio.Веб-просмотр открывает тот же URL-адрес, что и упомянутый выше, но выбрасывает страницу считывателя штрих-кода и выдает ошибку: NotAllowedError: Разрешение отклонено
Так что эта ошибка приводит меня к изменению некоторых разрешений в моем веб-просмотре, я пыталсявключить камеру, интернет, записать / прочитать внешнее хранилище, но ничего не помогло.
Моя часть веб-просмотра:
часть моего AndroidManifest.xml :
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
<uses-feature android:name="android.hardware.camera" android:required="true" />
<uses-feature android:name="android.hardware.camera.front" android:required="true" />
<uses-feature android:name="android.hardware.camera.autofocus" />
Часть Основная деятельность: Java-файл:
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
boolean permissionGranted2 = ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED;
if(permissionGranted2) {
// {Some Code}
} else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, 200);
}
boolean permissionGranted3 = ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
if(permissionGranted3) {
// {Some Code}
} else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 200);
}
boolean permissionGranted4 = ActivityCompat.checkSelfPermission(this, Manifest.permission.MEDIA_CONTENT_CONTROL) == PackageManager.PERMISSION_GRANTED;
if(permissionGranted4) {
// {Some Code}
} else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.MEDIA_CONTENT_CONTROL}, 200);
}boolean permissionGranted5 = ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
if(permissionGranted5) {
// {Some Code}
} else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 200);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case 200: {
if(grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// {Some Code}
}
}
}
}
Любая помощь / подсказка приветствуется.