android - 如何找出Android应用程序需要的权限

标签 android permissions

我如何找出我需要在 list 中为我的应用程序添加哪些权限?实际上,我什么时候需要在 list 中添加权限以及如何找出我的应用程序在将其安装到设备之前确实需要在 list 中添加一些权限?是否可以从导入的包中找出权限?例如,有什么方法可以找出我们需要在 list 中添加 "uses-permission android:name="com.android.alarm.permission.SET_ALARM" 权限,因为我们添加了 "import android.app.AlarmManager;" 在代码中?

我的大问题是:我的应用程序运行良好,但是当用户将手机升级到新的 android 时,我的应用程序无法运行,我需要从我的 list 中找出丢失的权限。 (比如我们在android 2.2不需要任何SD卡访问权限,但是在android 4.0我们需要在manifest中添加权限)。提前致谢

最佳答案

how can i find out which permissions i need to add in manifest for my applications?

有时,权限会被记录下来,例如在需要这些权限的类和方法的 JavaDocs 中。

有时,权限没有很好的记录。您通过测试或在其他地方查看有关它们的注释(例如 Stack Overflow 问题和答案)发现您需要它们。

有时,IDE(例如 Android Studio)或构建过程(例如带有 Lint 检查的 Gradle)会在编译时提示缺少权限。通常,这些是针对已记录的权限要求。也就是说,在发布应用程序之前运行手动 Lint 检查(Android Studio 中的“检查代码”)是个好主意。

HOW to find out my app really need to add some permissions in manifest before install it on device?

测试。

is it possible to find out permissions from imported package?

权限通常与 Java 包无关。

for example is there any way to find out we need to add "uses-permission android:name="com.android.alarm.permission.SET_ALARM" permissions in manifest because we add "import android.app.AlarmManager;" in code?

您不需要使用 SET_ALARM,因为您正在导入 AlarmManagerimport 语句不需要权限。

but when users upgrade phones to new android, my apps not work

在新版本的 Android 发布时快速测试您的应用。当您获得开发者预览的访问权限时(因为开发者是 Android 5.0 和 6.0 之前的开发者),请在这些开发者预览上进行测试。

关于android - 如何找出Android应用程序需要的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33786850/

相关文章:

java - 异常不可解析的日期

android - Koin 的动态依赖注入(inject)是否可行

android - admob粗定位能提高多少收入?

ubuntu - 更改 redis 转储的默认文件权限

django - Errno 13 权限被拒绝 : media folder with localhost

apache - 授予 ubuntu 访问 www-data 的权限

android - 当服务在单独的线程上运行时如何显示 toast ?

java - "Unfortunately your app has stopped"模拟器错误

Android:我的服务不想启动

Java/Tomcat 没有足够的权限执行 'java'