Come settare i permessi per accedere alla webcam in Ionic 2
Scrivo questo articolo perchè ho riscontrato che possono verificarsi diversi casi in cui è necessario chiedere o fissare i permessi in modo diverso anche a secondo della versione di android che si sta usando; in ogni caso una via da usare è quella di chiedere i permessi in modo esplicito e questo si può fare usando il plugin di cordova : Android Permissions. Per installare il plugin sarà sufficiente eseguire su linea di comando:
$ ionic cordova plugin add cordova-plugin-android-permissions $ npm install --save @ionic-native/android-permissions
un esempio di utilizzo può essere :
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 alcuni casi è stato necessario inserire i permessi direttamente nel AndroidManifest.xml che si trova in platform -> Android
Nel mio caso ho uilizzato questa configurazione per i permessi
<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