2015-10-02 15 views
32

Czy istnieje zamiar przejścia do ekranu aplikacji "Uprawnienia aplikacji" w Android-M?Przejdź do ekranu aplikacji Moja aplikacja app

Przygotowuję aplikację na Androida-M z nowym modelem uprawnień. Śledzę wszystkie czynności wymienione w linku

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

wszystko jest ustawione i wszystko jest dobrze przyjąć, że jeśli użytkownik sprawdził przycisk „Nigdy nie pytaj ponownie” i odmawia zgody na następnym uruchomieniu chcę dać użytkownikowi opcję przejścia do aplikacji "Uprawnienia aplikacji" i zmienić samą zgodę, jeśli kiedykolwiek zmieni zdanie. Chciałem uczynić to nieco łatwiejszym dla użytkownika, który nie jest zaawansowany technologicznie, poprzez podanie przycisku, który przekieruje użytkownika bezpośrednio do ekranu "Uprawnienia aplikacji" mojej aplikacji. Czy istnieje sposób? (Byłoby znacznie lepiej, niż podając instrukcję obsługi jak MenuSettingsApplicationsManage Applications → wybierz wniosku)

Dziękujemy za pomoc!

Odpowiedz

55

Nie, nie ma zamiaru przejść bezpośrednio do ekranu Uprawnienia.

Jednak, podobnie jak w poprzednich wersjach systemu Android, można wskazać ludziom do strony ustawień szczegół swojej aplikacji za pomocą kodu, takich jak:

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

To pozwoli im tylko hit jeden przycisk (przycisk Uprawnienia na tym ekranie), zanim będą mogli uzyskać dostęp do uprawnień.

Należy zauważyć, że zgodnie z UX around asking for permissions rozważyć linkami do strony ustawień tylko w ostateczności i tylko w przypadkach, gdy zgoda jest konieczne do aplikacja mogła funkcjonować w ogóle - Najlepiej, jeśli wykazują silne uzasadnienie gdy jest shouldShowRequestPermissionRationale() zwraca true (tj. Odrzuciło go raz, ale nie kliknęło "nigdy nie pytaj ponownie"), tak że za drugim razem, gdy użytkownik zobaczy okno dialogowe uprawnień, wie dokładnie, dlaczego potrzebujesz tego uprawnienia. Oznacza to, że użytkownicy, którzy wybiorą opcję "nigdy nie pytaj ponownie", powinni być traktowani jako bardzo silny sygnał, że użytkownik nigdy nie przyzna ci tego pozwolenia.

+0

Dzięki za odpowiedź. Wyświetlam odpowiednie wyrazy wyjaśniające, dlaczego zgoda jest wymagana, zgodnie z sugestią, a także zasugerowaną w odnośniku developer.android. Zgaduję, że przejście na stronę ustawień aplikacji jest wystarczająco blisko i masz rację, jeśli nie mam tego pozwolenia, aplikacja jest praktycznie bezużyteczna, więc jest to moja ostatnia deska ratunku. Jest albo przejście do ustawień aplikacji i udzielenie pozwolenia lub wypłata za kaucją z aplikacji w tym momencie. Jeszcze raz dziękuję Ian! – luckylukein

+0

Czy można przynajmniej przejść do ekranu uprawnień globalnych? Ten, który wymienia wszystkie uprawnienia wszystkich aplikacji? –

+0

To zabawne, że powinno to być traktowane jako ostateczność. Chodzi mi o to, że rozumiem, że chcą, abyś używał "oficjalnego" API uprawnień, ale fakt, że wykonał wywołanie 'requestPermissions', jest asynchroniczny, więc nie możesz zaimplementować modelu M bez prawie całkowitej rearchitekcji twojej aplikacji. – eidylon

Powiązane problemy