L’authorization è concessa solo all’app del sistema, in Manifest

Voglio aggiungere questa authorization al mio manifest Android:

 

Ma dopo aver incollato questa authorization nel mio manifest, verifica la sottolineatura rossa e dice:

l’authorization è concessa solo alle app di sistema

Cosa posso fare?

MODIFY_PHONE_STATE authorization MODIFY_PHONE_STATE è concessa solo alle app di sistema.

Per vostra informazione, ci sono 2 tipi di app Android: sistema e utente

Le app utente sono tutte le normali installazioni delle app attraverso Google Play Store, Amazon Appstore o sideloading. Questi entrano nella partizione / dati del tuo telefono Android, che è la parte della memoria interna resa disponibile per i dati utente e le app.

Le app di sistema sono fondamentalmente le app preinstallate con la tua ROM. In un ambiente utente Android standard, l’utente non ha accesso in scrittura alla partizione / system e quindi l’installazione o la disinstallazione delle app di sistema direttamente non è ansible.

Per installare un’app come app di sistema sul tuo dispositivo Android, il tuo dispositivo deve essere root o avere un ripristino personalizzato installato (o entrambi) .

Detto questo, quell’errore è in realtà sbagliato perché hai un codice valido e la compilazione dovrebbe funzionare. Sarebbe meglio se invece desse un avvertimento. In Eclipse puoi facilmente risolverlo. Basta andare su:

Finestra -> Preferenze -> Android -> Controllo errori filaccia.

Trova ProtectedPermission dall’elenco e imposta la severità su qualcosa di diverso dall’errore (informazioni ad esempio). In questo modo il tuo progetto verrà comunque compilato.

MODIFY_PHONE_STATE è un’authorization solo per il sistema. Le app di sistema sono preinstallate in una cartella di sistema o compilate da un produttore utilizzando il loro certificato di sicurezza.

Quindi, se si sta tentando di farlo, si sta tentando di utilizzare API che non sono più supportate. Con le versioni di Android 2.3+ puoi monitorare le chiamate in arrivo, ma il blocco non è consentito (penso che dal link che hai postato è quello che stai cercando di fare).

Problemi con Android se devi seguire: numero 15022 e numero 14789

Questo errore appare in SDK 19 in poi, quando cambi il manifest. Fai pulizia e costruzione del progetto. Dovrebbe cancellare questo errore.

basta pulire il tuo progetto andrà bene così:

progetto> Pulisci …

Poiché questo è il livello del sistema, lo sviluppatore del dispositivo di authorization non concede questo così gli strumenti di sviluppo dell’applicazione mettono in guardia anche da questo, quindi è sufficiente fare clic sul progetto e pulire quel progetto

Trova ProtectedPermission dall’elenco in

 Window -> Preferences -> Android -> Lint Error Checking. 

e impostare la severità su qualcosa di diverso dall’errore (informazioni per esempio). In questo modo il tuo progetto verrà comunque compilato.

Esistono quattro tipi di authorization

 Regular Dangerous Signed Signed or System 

The first two can be used by Simple Apps Altre due possono essere utilizzate solo dall’app che è costruita nel framework