2015-10-02 9 views
32

Uygulamamın Android-M'deki "Uygulama İzinleri" ekranına gitmek için bir niyet var mı?Uygulamamın Uygulama İzni ekranına git

Uygulamamı Android-M için ve yeni izinler modeli ile hazırlıyorum. Ben

https://developer.android.com/training/permissions/requesting.html

Her şey ayarlandı linkte belirtilen tüm adımları izleyen ve tüm kullanıcı "daha sorma" düğmesini kontrol edilip izin verilmedi ise, bir sonraki fırlatma İstiyorum kabul iyidir Kullanıcıya, Uygulamanın "Uygulama İzinleri" ne gitme ve eğer fikrini değiştirirse, iznin kendisini değiştirme seçeneği sunar. Kullanıcının doğrudan uygulamasındaki "Uygulama İzinleri" ekranına geçmesini sağlayacak bir düğme sağlayarak, teknik olmayan bilgi sahibi kullanıcı için biraz daha kolay hale getirmek istedim. Bir yolu var mı?

yardım için teşekkür ederiz (O MenuSettingsApplicationsManage Applications → seçme uygulaması gibi kullanıcı talimatlarını veren çok daha iyi olurdu)!

cevap

55

Hayır, doğrudan İzinler ekranına gitmek için bir niyet yoktur.

Ancak, sadece Android'in önceki sürümlerinde olduğu gibi, aşağıdakiler gibi kod kullanarak uygulamanızın ayrıntı ayarı sayfasına insanları gösterebilir: sadece tek bir düğmeye vurmak için bu onları sağlayacak

Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, 
    Uri.fromParts("package", getPackageName(), null)); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

(İzinler düğmesi bu ekranda) izinlere erişebilmeleri için. UX around asking for permissions göre, sadece son çare olarak ve yalnızca izin uygulama hiç çalışması için gerekli olduğu durumlarda ayarlar sayfaya bağlantı düşünün

Not - ideal olarak, ne zaman güçlü bir gerekçe göstermesi gerekir shouldShowRequestPermissionRationale(), true döndürür (yani, bir kez reddettiler, ancak "bir daha sorma" ismini vermediler), böylece kullanıcının izin iznini neden tam olarak bildiğini bildikleri ikinci kez izin iletişim kutusu görür. Bu, "bir daha asla sorma" isabet eden kullanıcıların, kullanıcının size bu izni vermeyeceği yönünde çok güçlü bir işaret olarak görülmesi gerektiği anlamına gelir.

+0

Cevabınız için teşekkürler. Geliştirmiş olduğunuz ve developer.android bağlantısında önerdiğiniz gibi neden izin gerektiğini açıklayan yeterli bir sorun yaşıyorum. Uygulamanın Ayarlar sayfasına ulaşmayı tahmin etmen yeterli olacak ve haklısın, eğer bu izne sahip değilsem, uygulama oldukça işe yaramıyor, bu yüzden benim son çarem. Bu, Uygulama Ayarları'na gidip izin vermek veya bu noktadan uygulamadan çıkmak. Tekrar teşekkürler Ian! – luckylukein

+0

En azından global izinler ekranına gitmek mümkün mü? Tüm uygulamaların tüm izinlerini listeleyen? –

+0

Bu son çare olarak görülmesi çok eğlenceli. Yani, "resmi" izin API'lerini kullanmanızı istediklerini anlayabiliyorum, ancak "requestPermissions" çağrısını eşzamansız hale getirdikleri gerçeği, M modelini neredeyse tamamen uygulamanızı yeniden aramadan uygulayamayacağınız anlamına gelir. – eidylon