Android应用内购买:在定位Android 6时,是否需要检查com.android.vending.BILLING权限?

sna*_*ark 12 permissions android in-app-purchase android-6.0-marshmallow

在实施应用内结算或IAB时,文档会说您必须将其添加到清单中:

<uses-permission android:name="com.android.vending.BILLING" />
Run Code Online (Sandbox Code Playgroud)

从Android 6开始,如果用户已授予不属于" 普通 "权限类别的权限,则应在运行时检查应用程序.请注意,在API级别23,未列在此类别下的任何位置.所以...com.android.vending.BILLING

  1. 如果不正常,这是否意味着危险?
  2. 在使用IAB之前是否需要检查权限?
  3. 如果我这样做,怎么样?我找不到任何与新的Android 6权限模型集成的IAB示例.例如,似乎没有与计费相关的任何许可Manifest.permission.

Mat*_*ini 19

您无法com.android.vending.BILLING在Android 6.0的正常或危险权限列表中找到权限,因为它不是系统权限.

它由包com.android.vending(也称为Google Play商店)声明.你可以在他的AndroidManifest.xml:

<permission
    android:name="com.android.vending.BILLING"
    android:description="@string/perm_billing_desc"
    android:label="@string/perm_billing_label"
    android:permissionGroup="android.permission-group.NETWORK"
    android:protectionLevel="normal"/>
Run Code Online (Sandbox Code Playgroud)

您无需在运行时检查权限,因为只需要系统权限.

您可以在此处找到有关应用程序声明权限的更多信息:http: //developer.android.com/guide/topics/manifest/permission-element.html