2016-06-15 43 views
39

Sui dispositivi che hanno installato l'aggiornamento più recente di Android Marshmallow - ovvero l'aggiornamento June2016, quando chiedo le autorizzazioni, il pulsante CONSENTI non funziona.Pulsante ALLOW non funziona dopo l'aggiornamento

Ho testato con questi 2 dispositivi:

Nexus 6p (versione 6.0.1 - Andoid, Numero build - MTC19V)

Nexus 7 (versione Android 6.0.1, il numero di costruire - MOB30M)

Entrambi hanno l'ultimo aggiornamento e quando richiedo le autorizzazioni, viene visualizzata la finestra di dialogo, ma non riesco a premere il pulsante CONSENTI.

Ecco il codice, che uso per richiesta permesso:

public void showPermissionsDialog() { 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 
     int hasWriteExternalStoragePermission = activity.checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE); 
     int hasWriteGetAccountsPermission = activity.checkSelfPermission(android.Manifest.permission.GET_ACCOUNTS); 

     if (hasWriteExternalStoragePermission != PackageManager.PERMISSION_GRANTED || hasWriteGetAccountsPermission != PackageManager.PERMISSION_GRANTED) { 
      activity.requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE, android.Manifest.permission.GET_ACCOUNTS}, MainActivity.REQUEST_CODE_ASK_PERMISSIONS); 
     } else { 
      isAllPermissionsGranted = true; 
     } 
    } else { 
     isAllPermissionsGranted = true; 
    } 

} 



    @Override 
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { 
     if (requestCode == REQUEST_CODE_ASK_PERMISSIONS) { 
      if (grantResults.length > 0) { 
       boolean isAllPermissionsGranted = true; 
       for (int i = 0; i < grantResults.length; i++) { 
        if (grantResults[i] != PackageManager.PERMISSION_GRANTED) { 
         isAllPermissionsGranted = false; 
        } 
       } 

       if (isAllPermissionsGranted) { 
        this.isAllPermissionsGranted = true; 
       } else { 
        android.widget.Toast.makeText(this, "Please, grand permissions", android.widget.Toast.LENGTH_LONG).show(); 
        showPermissionsDialog(); 
       } 
      } 
     } 
    } 

Qualche suggerimento su come risolvere questo problema? Grazie in anticipo!

EDIT

Here è la segnalazione a Google. Stiamo ancora aspettando la correzione da parte di Google.

EDIT 1

Questo problema è stato risolto!

+0

sei stato sovrascrivono onRequestPermissionsResult ?? –

+0

sì, certo ... Aggiungerò il codice – hakobyanheghine

+0

Ho appena aggiornato il sistema operativo, fino a domani lo stesso set di codice funzionava correttamente e dopo l'aggiornamento non devo fare clic sul pulsante Consenti. Fammi sapere se trovi qualche soluzione? –

risposta

55

EDIT: È stato contrassegnato come un difetto nell'ultimo androide e sarà risolto in una versione futura del sistema operativo. Bug report

EDIT 2: File manager inviami un'e-mail che si fissano questa caratteristica nel loro app. Non ho più provato File Manager, ma se aggiorni l'app non dovrebbe più darti questo problema. Ma in pratica questo comportamento potrebbe provenire da qualsiasi app che esegue la sovrapposizione in modo errato finché Android non lo risolve.

Ho finalmente capito (almeno nel mio caso) ... è il servizio di app di f **** File Manager. Se il servizio viene interrotto, le autorizzazioni funzionano di nuovo.

https://play.google.com/store/apps/details?id=com.rhmsoft.fm

ho avuto questo app prima che l'aggiornamento a "MOB30M" e i permessi di esecuzione in cui lavorano senza un problema (è il mio lavoro quotidiano per programmare questo) e ho utilizzato il file manager di mettere il rilascio APK nel telefono ed eseguilo per installare l'APK. Quindi non sono alcune app che ho installato oggi.

Ciò che mi risulta orribile è che un'app può causare l'arresto anomalo di tutti i sistemi di autorizzazione.

E 'ed eccessivamente problema

Capisco che il sistema di autorizzazione non viene arrestato, dal momento che un app potrebbe essere utilizzato per falsificare le finestre di dialogo, ma dovrebbe poi non Android (Google) vi dico che avete un app che sta girando in alto e che se vuoi dare le autorizzazioni all'app devi disinstallare l'app XXXX? Intendo per il gusto dell'esperienza utente.

Un utente normale, si potrebbe pensare che il suo telefono è rotto e probabilmente avrebbe mandato il telefono a Google o il vettore xD

Dai, siamo onesti, non posso rendere Android questo meglio? Non è che tu abbia bisogno che il tuo telefono sia radicato per avere questo comportamento (il mio telefono non è rootato). Se non informa l'utente cosa sta succedendo, allora è come se fosse rotto

+0

wow, grazie tu, l'ho fatto e ha funzionato, ma come hai detto tu è davvero terribile una singola app può fare questo xD – Dullahan

+0

@hakobyanheghine hai provato questo? –

+1

@JavierVieira Ho appena provato e funziona! Grazie! Speriamo che Google risolverà questo problema prima che la mia app venga pubblicata xD – hakobyanheghine

-2

Disinstallato File Manager e scaricato di nuovo, il pulsante "Consenti" funziona improvvisamente di nuovo.

+2

Beh, non una risposta valida ... funziona perché quando si disinstalla il servizio si interrompe .... se si installa nuovamente, il servizio non è in esecuzione fino a quando non si apre nuovamente l'app ... al più presto. Mentre lo fai, il servizio dell'app ricomincia a funzionare f ***** nuovamente il sistema di autorizzazione.Inoltre potrebbe essere che non è a causa di file manager .... potrebbe essere qualsiasi app facendo overlay. Ot è stato ufficialmente contrassegnato come un difetto nell'ultimo aggiornamento di Android e verrà risolto dal team di Android –

+0

Sono d'accordo con @JavierVieira, la disinstallazione non può essere una soluzione perché non risolve interamente il problema, dobbiamo aspettare la prossima patch di sicurezza da google. – Dullahan

0

Stavo per segnalare lo stesso problema, ma qui si è già registrato, sto affrontando questo da 2 mesi pulsante, nessuna idea perché, ma il 'Consenti' non funziona anche nel mio telefono NEXUS 6P. Sembra che questo problema funzioni solo nella serie nexus

@Google e Android team: correggi questo, è davvero fastidioso per quante volte ci troviamo di fronte a questo problema, voglio dire per ogni app, è necessario continuare impostare la soluzione alternativa per l'impostazione manuale delle autorizzazioni.

sua davvero uno stupido errore:/

2

Nel mio caso Clean Master 's iSwipe stava causando questo problema, funzione Disabilita ISWIPE nelle impostazioni