是否可以根据 Android 版本指定不同的权限?

Car*_*ado 2 permissions android android-manifest

我的应用实际上是使用 PARSE 库进行推送通知,这需要一些权限才能正常工作。我注意到我的应用程序的一些潜在用户有点怀疑,特别是权限 GET_ACCOUNTS:他们认为它可以访问他们的个人数据左右:-/

我查看了 Android 文档(请参阅此处),似乎只有运行低于 4.0.4 的操作系统版本的设备的推送通知才需要 GET_ACCOUNTS,因此我想至少对于更高的操作系统版本取消该权限。

实现这一目标的最佳方法是什么?我想我可以使用 Play Store Multiple APK 支持,但这真的只是为了删除清单文件中的一行权限吗?。我希望有更好的解决方案,但到目前为止我找不到任何其他解决方案。

ian*_*ake 6

使用android:maxSdkVersion您的<uses-permission>清单条目:

<uses-permission android:name="android.permission.GET_ACCOUNTS"
    android:maxSdkVersion="13" />
Run Code Online (Sandbox Code Playgroud)

注意:您仍然应该在两个 Android 版本上进行测试,因为 Parse 可能仍然会在更高版本的 Android 上检查帐户。