Autore Topic: android m  (Letto 587 volte)

Offline xixietto

android m
« il: 23 Febbraio 2016, 14:10:36 CET »
0
ciao, nella mia applicazione uso dei permessi..
ho notato che in un sistema operativo dov'è istallato android m.
i permessi non si attivano in automatico, ma vanno attivati manualmente.
sapete come risolvere?

Offline iClaude

  • Utente normale
  • ***
  • Post: 243
  • Respect: +17
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S5
  • Sistema operativo:
    Windows 10
Re:android m
« Risposta #1 il: 23 Febbraio 2016, 14:42:06 CET »
+1
Puoi mettere target SDK su 22 e tutto funziona come prima.
Oppure puoi gestire i permessi sui dispositivi con Marshmallow con il nuovo sistema,  come descritto qua:

Requesting Permissions at Run Time | Android Developers

Offline xixietto

Re:android m
« Risposta #2 il: 23 Febbraio 2016, 15:47:44 CET »
0
In pratica la mia app è compatibile anche con sistemi inferiori ad android m oltre che a m.. Ma nn capisco bene come funziona.. Ho guardato il link

Inviato dal mio GT-I9505 utilizzando Tapatalk


Offline iClaude

  • Utente normale
  • ***
  • Post: 243
  • Respect: +17
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S5
  • Sistema operativo:
    Windows 10
Re:android m
« Risposta #3 il: 23 Febbraio 2016, 17:40:43 CET »
0
Fino alla ver 22 l'utente dava autorizzazione ai vari permessi in fase di installazione dell'app, quindi si assumeva che i permessi ci fossero.

Dalla 23 in fase di installazione non viene chiesto nulla. In fase di esecuzione se deve essere eseguita un'operazione che richiede un permesso dangerous (es. modificare un contatto della rubrica; notare che l'accesso ad internet non è un permesso dangerous) bisogna verificare che l'autorizzazione sia stata data e, in caso negativo, chiederla. Questo va fatto tutte le volte perchè l'utente può revocare le autorizzazioni in ogni momento.
Questo però vale solo se (target SDK è impostato su 23) && (il dispositivo monta Marshamallow), altrimenti resta tutto come prima.

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +153
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:android m
« Risposta #4 il: 26 Febbraio 2016, 00:44:14 CET »
0
Questo però vale solo se (target SDK è impostato su 23) && (il dispositivo monta Marshamallow), altrimenti resta tutto come prima.

In realtà non è totalmente esatto.
Impostando target 22 su un dispositivo con Android 6.0 i permessi vengono chiesti in fase di installazione e non è necessario gestirli runtime.
Tuttavia un utente può sempre andare nelle impostazioni -> Applicazioni e rimuovere manualmente i permessi per quell'app (il sistema avvisa che l'app potrebbe crashare perchè non sono gestiti i permessi runtime).
In questo ovviamente l'app potrebbe crashare.