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

时间:2015-10-25 17:10:19

标签: android permissions in-app-purchase android-6.0-marshmallow

在实施应用内结算或IAB时,docs表示您必须将其添加到您的清单中:

<uses-permission android:name="com.android.vending.BILLING" />

从Android 6开始,如果用户已授予不属于“expected to check”权限类别的权限,则应用程序在运行时为normal。请注意,在API级别23,com.android.vending.BILLING未列在此类别下的任何位置。所以......

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

1 个答案:

答案 0 :(得分:19)

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

它由包com.android.vending(a.k.a.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"/>

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

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