#angularjs #cordova #ionic4 #android-permissions #inappbrowser
Вопрос:
Я использую Ionic 4 AngularJS 8 и Cordova. В моем приложении я реализовал Cordova-InAppBrowser, и веб-сайт успешно загружается. Я также дал Разрешение на доступ к камере и хранилищу.
//In App Browser import {InAppBrowser,InAppBrowserOptions} from "@ionic-native/in-app-browser/ngx"; // Camera import { Diagnostic } from "@ionic-native/diagnostic/ngx"; import { Camera, CameraOptions } from "@ionic-native/camera/ngx"; import { AndroidPermissions } from "@ionic-native/android-permissions/ngx"; . . . . . constructor( private diagnostic: Diagnostic, private camera: Camera, private androidPermissions: AndroidPermissions, public iab: InAppBrowser ) { . . . . . let successCallback = (isAvailable) =gt; { console.log("Camera Is available? " isAvailable); }; let errorCallback = (e) =gt; console.error(e); this.diagnostic .isCameraAvailable() .then(successCallback) .catch(errorCallback); this.androidPermissions .requestPermissions([ this.androidPermissions.PERMISSION.CAMERA, this.androidPermissions.PERMISSION.READ_EXTERNAL_STORAGE, this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE, ]) .then( (result) =gt; console.log("requestPermissions- result?", result), (err) =gt; console.log("requestPermissions-err?", err) ); . . . . . const browser = this.iab.create(res.data.url, `_self`, iab_options); browser.on("loadstop").subscribe((event) =gt; { console.log("----gt;event: ", event); var animationDelay = 500; // delay to wait for camera window animation });
С помощью описанного выше процесса были установлены разрешения для камеры и хранилища. Но веб-сайт, который загружается в InAppBrowser, показывает сообщение «Пожалуйста, разрешите камеру» для выполнения какой-либо конкретной задачи на этом веб-сайте.
AndroidManifest.xml
lt;uses-permission android:name="android.permission.CAMERA" /gt; lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /gt; lt;uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /gt; lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /gt; lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /gt; lt;uses-feature android:name="android.hardware.location.gps" /gt; lt;uses-permission android:name="android.permission.BLUETOOTH" /gt; lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /gt; lt;uses-permission android:name="android.permission.RECORD_AUDIO" /gt; lt;uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /gt; lt;uses-permission android:name="android.permission.READ_PHONE_STATE" /gt; lt;uses-permission android:name="android.permission.GET_ACCOUNTS" /gt; lt;uses-permission android:name="android.permission.USE_CREDENTIALS" /gt; lt;uses-permission android:name="android.permission.CALL_PHONE" /gt;
Мой запрос, несмотря на то, что я дал все разрешения, почему он снова запрашивает разрешение?
Пожалуйста, помогите. Спасибо.