2015-08-18 15 views
13

Mam aplikację, która korzysta z GCM i rozliczeń. Aby to zrobić w wersji Android M, próbuję zaimplementować nowy model permission model.Android M: Uprawnienia do fakturowania i GCM

Niestety nie mogę znaleźć żadnych informacji o uprawnieniach GCM i rozliczeniach. Nie pojawiają się one w normal permission list i są oczywiście niedostępne z Manifest.permission.*, ponieważ nie są w przestrzeni nazw android.permission.

Niemniej jednak, nadal musimy zadeklarować je w oczywisty

<uses-permission android:name="com.android.vending.BILLING"> 
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"> 

Więc jak te uprawnienia powinny być traktowane? Czy są one automatycznie przyznawane?

+1

Jak dziwne. Nie widzę żadnego z tych zdefiniowanych po zrzuceniu uprawnień do urządzenia podglądu z Androidem 6.0 za pomocą 'adb shell pm list -gifts -g'. – CommonsWare

+0

Myślę, że możesz bez problemów przejść do tych. – greywolf82

+0

Dobre wyjaśnienie można znaleźć na stronie @ [** medium **] (https://medium.com/@gabri.mariotti/why-billing-permission-is-not-required-at-runtime-7858a2a56ced#. v7efavjdz). –

Odpowiedz

13

Uprawnienia te są przyznawane automatycznie w czasie instalacji:

checkSelfPermission("com.android.vending.BILLING") powraca PERMISSION_GRANTED nigdy nie pyta użytkownika.

O ile zrozumiałem dokumentację i zachowanie najnowszego podglądu M, jedynymi uprawnieniami, których należy zażądać w środowisku wykonawczym, są tylko te, które mają permission group, ponieważ wyskakujące okienka, które są monitowane o wyszczególnienie tylko przez użytkownika grupy uprawnień.

Powiązane problemy