在开发过程中如何为应用程序提供权限?

时间:2017-08-30 04:53:11

标签: android android-permissions

我正在开发一个应用,并且清单包含权限INTERNETSEND_SMS。当Android Studio将apk安装到模拟器或真实手机时,没有要求权限。

当我运行发送短信的应用时,会出现权限异常。我不得不去设置,应用程序和权限,有一个选项来启用短信。启用后,应用程序可以发送短信。

当应用使用HttpUrlConnection进行网络通话时,它已成功完成!在“设置应用”下,没有网络或互联网等选项。

为什么进行网络通信不需要用户的任何许可?

在“设置”,“应用”下,为什么我的应用只列出了一项权限,即短信?

3 个答案:

答案 0 :(得分:0)

开发人员有责任在运行时请求权限。 在获得任何危险许可之前。 (Android M(6.0)支持运行时权限)

并非需要向用户请求所有权限。只有危险许可需要用户的批准。 Normal and Danger Permsission

请遵循本指南Runtime Permission

答案 1 :(得分:0)

Android 6.0中的权限模型已更改。如果应用程序的目标是API 23或更高版本,则需要在运行时请求用户获取权限。如果应用程序目标低于API 23,则应用程序在intall期间获取权限。

有一些权限,例如“INTERNET”,它们将始终在intall期间。

答案 2 :(得分:0)

您在Android SDK> = 23中运行您的应用。

互联网权限属于“正常”权限,因此它不会显示任何权限提示,但“相机”权限属于“危险权限”,因此会显示权限提示。

如果某个应用声明需要正常权限,系统会自动授予该应用的相应权限。

参考:
Reference - Android Permissions

StackOverflow

Permission Requests