2012-11-28 11 views
19

voglio aggiungere questa autorizzazione al mio manifesto Android:È permesso solo alle app di sistema, nel manifesto

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

Ma dopo che ho incollo questa autorizzazione nel mio manifesto, mette alla prova sottolineatura rossa e dice:

autorizzazione viene concessa solo per le applicazioni di sistema

Cosa posso fare?

+0

chiamata Cosa API stai usando che richiede questa autorizzazione? –

+0

@ A - C Sto provando questo tutorial. http://androidsourcecode.blogspot.in/2010/10/blocking-incoming-call-android.html –

+0

Posso capire perché questa app richiede il permesso. Dai un'occhiata però ai commenti, altre persone hanno avuto questo problema, almeno sul pan di zenzero. –

risposta

59

MODIFY_PHONE_STATE autorizzazione viene concessa solo ai applicazioni di sistema.

Per vostra informazione, ci sono 2 tipi di applicazioni Android: sistema & utente

applicazioni utente sono solo tutte le normali installazioni di applicazioni attraverso il 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.

applicazioni di sistema sono fondamentalmente le applicazioni che vengono pre-installati con la 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 è possibile.

Per poter installare un app come app di sistema sul tuo dispositivo Android, il dispositivo deve essere o radicate o di avere un recupero personalizzato installato (o entrambi).

Detto questo, quell'errore è in realtà sbagliato perché si dispone di 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 errore filaccia.

Trova ProtectedPermission dall'elenco e impostare la gravità a qualcosa di diverso errore (informazioni, per esempio). In questo modo il tuo progetto verrà comunque compilato.

+0

Funziona .. Grazie mille per risparmiare i miei orari – Shalini

6

MODIFY_PHONE_STATE è un permesso di 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 Android se è necessario seguire: Issue 15022 e Issue 14789

+0

Sì, stavo cercando di bloccare le chiamate in arrivo, e quindi questo problema fa veramente schifo. –

+0

Quindi, come sono alcune app su Play Store che possono bloccare le chiamate? –

+0

Non bloccano le chiamate. dicono che lo fanno, ma tutto quello che possono fare è notificare all'utente (quando un numero bloccato chiama), ma non può bloccarlo completamente. Tutto questo ovviamente nelle versioni Android 2.3+. – Nerd

4

Questo errore viene visualizzato in SDK 19 in poi, quando si modifica il manifest. Do Project Clean and Build. Dovrebbe cancellare questo errore.

+1

questo dovrebbe essere un commento, non una risposta –

2

solo pulire il vostro progetto sarà bene così:

progetto> Clean ...

+0

no, questo non sarebbe d'aiuto in questo caso. –

2

Perché questo è il livello di sistema sviluppatore dispositivo permesso non concedere questo modo gli strumenti di sviluppo di applicazioni in guardia anche contro questo modo dovete cliccare semplicemente sulla progetto e pulire quel progetto

0

Trova ProtectedPermission dall'elenco nella

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

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

0

Ci sono quattro tipi di permesso

Regular 
Dangerous 
Signed 
Signed or System 

The first two can be used by Simple Apps altri due possono essere utilizzati solo da app, che è costruire nel quadro

Problemi correlati