How to set webcam access permissions in Ionic 2
I write this article because I’ve found that there can be several cases in which it is necessary to request or set permissions differently depending on the version of Android being used; in any case one way to proceed is to request permissions explicitly and this can be done using the Cordova plugin: Android Permissions. To install the plugin it is sufficient to run on the command line:
$ ionic cordova plugin add cordova-plugin-android-permissions $ npm install --save @ionic-native/android-permissions
An example of usage can be:
import { AndroidPermissions } from '@ionic-native/android-permissions';
constructor(private androidPermissions: AndroidPermissions) { } ...
this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.CAMERA).then(
result => console.log('Has permission?',result.hasPermission), err =>
this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.CAMERA) );
this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.CAMERA,
this.androidPermissions.PERMISSION.GET_ACCOUNTS]);
In some cases it was necessary to insert the permissions directly into the AndroidManifest.xml which is located in platform -> Android
In my case I used this configuration for the permissions
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
<uses-permission android:name="android.permission.INTERNET" />
Se vuoi farmi qualche richiesta o contattarmi per un aiuto riempi il seguente form

Comments