12

Android 6.0 izinler sistemi kullanmak için benim uygulamalardan birini göç ederken, ben emülatörü kullanarak hata ayıklama izinleri çok zor buldum.Android 6.0 izinleri nasıl hata ayıklanır/sıfırlanır?

Bulgular: requestPermissions() yöntemi kullanılırken

  • uygulaması bilgi ekranına bir izni devre dışı bırakılması hibe izni iletişim yeniden göstermez. Uygulamayı yeniden
  • uygulamasını tekrar hibe izni iletişim göstermesini sağlamak için tek yol olarak görünmektedir. Android emülatörü kullanarak hata ayıklama iznine uygun yöntem

nedir?

+0

Bir kabuk betiği kullanarak ilgilenen herkes https://gist.github.com/nitiwari-dev/90df91e3eb21864ca711b271e071b77b – nitesh

cevap

20

Aslında Android 6.0 izinleri hata ayıklamak için çok kolaydır.

adb shell pm reset-permissions 

Not: Şu anda çalışma zamanı izinlerini sıfırlamak olamaz Aşağıdaki ADB kabuk komutunu kullanarak için "install devlet" için geçerli ön plan uygulamasını tüm uygulamalar izinleri sıfırlayabilirsiniz belirli bir paket için, paket yemlik (pm) aracı yardım bölümü devletler: varsayılan durumlarına

Geri döndürme tüm çalışma zamanı izinleri.

Android Studio'daki terminal arabirimini kullanarak reset-permissions komutunu kolayca çalıştırabilirsiniz. ADB sadece komutları ADB dizin YOLU sistem ortam değişkeni eklenirse çalıştığını unutmayın (bkz: add ADB to path variable).

Ayrıca/reset kullanarak belirli izinleri iptal edebilirsiniz:

adb shell pm revoke com.your.package android.permission.WRITE_EXTERNAL_STORAGE 

bu komutun bir olumsuz uygulamanızı yeniden başlayacağını, ancak bu tüm uygulamalar için çalışma zamanı izinlerini sıfırlanmaz. Bir izin vermek için revoke'u grant ile değiştirin.

+1

'a atıfta bulunabilir. Bu pek de bir "olumsuz" - işlerin çalışmak için tasarlandığı yoldur! izinler Bir uygulama için değiştirilirse Gerçek – zmarties

+0

(o değiştirilen izinleri kontrol etmek için bir şans olur böylece), normalde daha sonra uygulama yeniden başlatıldığında, ayarlar UI ile yapılır! Ancak bahsi geçen diğer komuta tersine bir dezavantajı var. Çünkü bu komut uygulamayı yeniden başlatmıyor. –

+1

Sıfırlama izinlerinin uygulamayı durdurmadığı bir hata - https://code.google.com/p/android/issues/detail?id=195087 – zmarties