2012-01-02 12 views

risposta

4

Guardando il manifesto, e ciò che l'applicazione HelloWorld fa su PhoneGap, tutti i permessi non sembrano essere necessari.

Sembra che siano lì per mostrarti ciò che è disponibile. Non credo che l'app single hello world utilizzi TUTTE quelle autorizzazioni.

2

Penso che sia solo per il progetto di esempio, a seconda di cosa si prevede di utilizzare su è possibile impostare le autorizzazioni.

5

Per PhoneGap, dal momento che è in gran parte un'implementazione WebView glorificato, si sono tenuti ad avere il minimo:

android.permission.READ_PHONE_STATE 
android.permission.INTERNET 

nel vostro manifest.XML

Se avete bisogno di altre autorizzazioni, che dipenderà dalla tua specifica applicazione e da cosa deve fare.

Spero che questo aiuti!

Riferimento: https://groups.google.com/forum/#!topic/phonegap/Mrrvk0Q0KqA e altri.

+0

READ_PHONE_STATE e Internet non cucitura a essere sufficiente. La mia app si arresta in modo anomalo se imposto solo queste due autorizzazioni. –

+0

@white_gecko per un'app demo hello_world? Sei sicuro che la tua app non stia usando qualcos'altro? Funziona per me, quindi è strano. – TryTryAgain

5

Le uniche autorizzazioni che si avrebbe bisogno sono-

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

una volta aggiunto caratteristiche come la fotocamera e tutti, è possibile aggiungere più autorizzazioni.

+9

Cosa ti fa pensare che hai bisogno di ''? – TryTryAgain

7

ho capito, in base alla risposta da ghostCoder, che

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

è l'unica autorizzazione che è necessario per un minimo PhoneGap App per avviare e gestire se non si accede a Internet o qualsiasi altra risorsa speciale.

+0

Mi interessa sapere come funziona una webview senza il permesso di internet ... strano come ha funzionato per me, ma questo conferma quello che dici: http://stackoverflow.com/a/10401522/805031 qualcosa deve essere cambiato .. – TryTryAgain

+0

corretto ... Mi chiedo se qualcosa è cambiato nei requisiti di Android per l'implementazione di webview ... Sembra solo '' è tutto ciò che è necessario ora. – TryTryAgain

+2

Bene, non ho bisogno dell'autorizzazione per accedere a INTERNET perché la mia app Web funziona interamente a livello locale. Voglio che sia utilizzabile offline. Quindi mi chiedo perché ho bisogno di permessi perché non accede a nulla al di fuori. –

0

Al momento della stesura, PhoneGap 2.4.0 ci consente di rimuovere INTERNET e ACCESS_NETWORK_STATE.

In genere, qualsiasi autorizzazione non necessaria nella tua app può essere rimossa e devi rimuovere il plug-in corrispondente in res/xml/config.xml.

Sto utilizzando la versione di Android e quando ho rimosso il plug-in che richiede l'accesso alla rete, è possibile rimuovere l'autorizzazione INTERNET e ACCESS_NETWORK_STATE.

Tuttavia, non ho potuto utilizzare la GUI di Eclipse per aggiungere quei plug-in una volta rimossi. Avevo bisogno di modificare manualmente il file XML. E l'elenco di plug-in originale può essere trovato a Android Dependencies>cordova-2.4.9.jar

+0

Ho tentato di rimuovere INTERNET e ACCESS_NETWORK_STATE e ricevo un errore quando provo a lanciare la mia app sul dispositivo reale ... Quindi ho aggiunto nuovamente quelle autorizzazioni e tutto è bene. Sto usando Icenium che è fantastico :-) http://www.icenium.com/ –

+0

Come ho già detto, è necessario rimuovere anche il plugin corrispondente in res/xml/config.xml. Sei stato tu? – alumi

1

A volte è necessario indicare esplicitamente quali autorizzazioni non si desidera, anche se questo non dovrebbe essere proprio il caso.

In generale, utilizzo sempre questo piccolo strumento per creare i file config.xml per PhoneGap. Ha praticamente tutte le basi coperte e ti chiede tutti i dati rilevanti/utili, anche fornendo le dimensioni di icone e splashscreen per ogni tipo di dispositivo.

io consiglierei seriamente ogni download PhoneGap sviluppatori e utilizza questa: http://configap.com/

4

Hai solo bisogno di aggiungere una riga al config.xml:

<preference name="permissions" value="none" /> 
  • Naturalmente se hai bisogno di più le autorizzazioni quindi li aggiungono di conseguenza. Ma questo sarà almeno rimuovere tutte quelle permanenti predefinite inutili ...

Maggiori informazioni: http://devgirl.org/2013/09/05/phonegap-3-0-stuff-you-should-know/

+0

Non ha funzionato per me, l'app richiede ancora microfono, foto, posizione ecc. Sull'installazione – Alex

+0

Assicurati di rimuovere anche tutti i "plug-in" predefiniti, richiedono un sacco di autorizzazioni – Alex

Problemi correlati