到目前为止,我已经在root设备和模拟器上运行了这种情况。我无法找到关于我是否可以运行我的应用程序而无需编写代码来处理运行时权限的明确信息。在Android M上,您可以转到设置/ app / yourapp /权限。在那里我可以看到电话的许可,在检查时,包括phone_state,这是一个危险的许可。如果我从那里给它,我的应用程序会自动获得许可吗?
答案 0 :(得分:2)
是的,如果您通过设置授予权限,您的应用就会拥有这些危险权限。
您只需要在运行时请求危险权限,因为默认情况下您不会通过应用安装获得这些权限。
如果app已启动并尝试访问,请以此方式理解 危险的功能,它会崩溃,因为它不会得到 权限,所以那时你需要请求这些权限 明确地来自用户,但是如果你手动给那些危险的 设置应用程序的权限比您的应用程序不需要请求 这些权限在tuntime再次明确显示
答案 1 :(得分:0)
您的应用程序将获得您从设置菜单中提供的权限,但如果您在首次启动时和启动需要这些权限的活动之前显示权限对话框,则可以采用更好的做法。这是如何做到这一点的示例:
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestAppPermissions(new
String[]{ Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.CAMERA}, REQUEST_PERMISSIONS);
}