5

Utilizzo Appcelerator Studio per lo sviluppo della mia app. In questa app scattare foto dalla fotocamera e pubblicarle sul mio server. Per Android 6, sto chiedendo permessi di esecuzione da parte degli utenti per l'utilizzo della fotocamera. Il mio codice funziona bene. Ma quando chiedo il permesso per la fotocamera in fase di esecuzione. Sta chiedendo 3 permessi,Permessi telecamera in Appcelerator

  1. Permetti all'applicazione di scattare foto e registrare video.
  2. L'app accederà alla galleria.
  3. L'app utilizzerà la posizione della telecamera.

La mia domanda è perché sto vedendo tutte queste autorizzazioni quando uso solo la fotocamera per scattare foto e come posso liberarmene?

Codice frammento:

if (Ti.Media.hasCameraPermissions()) { 
     openCamera(); 
    } else { 
     Ti.Media.requestCameraPermissions(function(e) { 
      if (e.success) { 
       openCamera(); 
      } else { 
       alert('You denied permission'); 
      } 
     }); 
    } 

Grazie in anticipo per l'aiuto.

+0

Giusto per chiarire, * stai * parlando del nuovo sistema di permessi di Android 6, giusto? Ho un codice quasi identico al tuo in un'app e ottengo due finestre di dialogo delle autorizzazioni. Uno dice "Permetti a APPNAME di accedere a foto, contenuti multimediali e file sul tuo dispositivo?" e l'altro dice "Permetti a APPNAME di scattare foto e registrare video?" Non ho familiarità con il permesso "usa la posizione della telecamera". Ma la mia app richiede la posizione per altri scopi all'avvio, quindi forse è per questo che non lo vedo quando richiedo le autorizzazioni della videocamera? –

+0

Penso che sia il modo in cui è progettato per funzionare, ... e penso che tu abbia ragione @JasonPriebe :-) –

+1

Ispezione di MediaModule.java nel Ti mobile SDK (https://github.com/appcelerator/ titanium_mobile/blob/ddf5400a61ec4b481d8af4aac02d3c385d30248f/android/modules/media/src/java/ti/modules/titanium/media/MediaModule.java) indica che requestCameraPermissions() chiama solo Manifest.permission.CAMERA e Manifest.permission.READ_EXTERNAL_STORAGE. Niente sulla posizione, quindi non sono sicuro di come l'OP sta ricevendo una richiesta di autorizzazione di posizione (a meno che non ci siano permessi di localizzazione richiesti in openCamera()) –

risposta

0

Potrebbe essere dovuto al fatto che non sono ancora state concesse autorizzazioni di posizione su assegni in titanio per chiedere autorizzazioni in una sola volta. Provalo dopo aver dato i permessi di posizione.