Italian chiedere i permessi sms alla prima apertura app

tmtube73

Active Member
Licensed User
mi spiego meglio, ho creato una app service che una volta aperta riceve sms ma se non vado manualmente in opzioni android e autorizzazioni app per abilitare sulla mia app la voce sms la mia app non funziona, mi chiedo in che modo posso chiedere durante la fase di installazione autorizzazione all'uso degli sms senza doverli andare ad impostare manualmente in android

grazie.
 

amorosik

Expert
Licensed User
Hai gia' visto questi ?
 

drgottjr

Expert
Licensed User
Longtime User
google non permette più app con sms, quindi si suppone che la tua è per uso tuo in casa, vero? se metti targetsdk < 23 (oppure più basso ancora), non hai bisogno di alcun permesso. prova.
 

Star-Dust

Expert
Licensed User
Longtime User
google non permette più app con sms, quindi si suppone che la tua è per uso tuo in casa, vero? se metti targetsdk < 23 (oppure più basso ancora), non hai bisogno di alcun permesso. prova.
In realtà 23+ Permette un solo casa di ricevere sms, come nel caso di WhatsApp, quando devi ricevono sms con un codice di attivazione e non servono nemmeno permessi

 

Star-Dust

Expert
Licensed User
Longtime User
In cosa differisce un "sms con un codice di attivazione" da un normale sms con testo alfanumerico?
C'è proprio un servizio specifico. Questo servizio se riceve un sms da un numero specifico con una formattazione specifica ti fa leggere quel messaggio altrimenti nulla. Per settarlo bisogna impostare nel manifest per rcevere quel tipo di messaggio da quel numero .

E' un servizio nuovo da Android 6, visto che impedisce la lettura dei messaggi, consente a servizi tipo WhatsApp di mandare i messaggi di verifica e leggerli senza chiedere all'utente di ricopiarlo manualmente. E' l'unico tipo si sms che si può leggere da Android 6+ in poi (nemmeno se chiedi i permessi)
Leggiti la descrizione che spiega tutto.
Di solito il modo sarebbe:
1. Chiedere all'utente il numero di telefono del dispositivo
2. Invia questo numero di telefono al tuo server.
3. Il tuo server invia un SMS al dispositivo con un formato specifico.
4. L'API di recupero di SMS attende 5 minuti (da cui viene avviato) e acquisisce questo SMS se contiene l'AppHash corretto e il formato è corretto.
5. Estrarre il codice dall'SMS e inviarlo al server.
6. Il tuo server ora può confrontare il codice in uscita con quello che dai ora.

Un altra alternativa è rendere la tua App l'App che gestisce totalmente i messaggi sostituendo quella del fabbricante. Ma in questo caso l'utente all'installazione deve autorizzare che la tua app prenda il posto di quella nativa. Ma anche li è un discorso complicatissimo perchè devi gestire tutto quello che riguarda sms. Anche Blocked ecc..
 
Top