【问题标题】:Getting permissions on Android version 7 [duplicate]获取 Android 版本 7 的权限 [重复]
【发布时间】:2018-04-20 19:03:17
【问题描述】:

我正在为 Android 开发一个用于发送 SMS 的小型应用程序。当您安装 .apk 时,Android 4.4 要求 permission 从设备发送 SMS 消息。但 Android 7 根本不要求任何权限。但是,您需要在设置中手动开启短信发送权限才能使应用正常运行。

在所有 Android 系统的安装过程中,有什么方法可以显示权限?

【问题讨论】:

标签: android android-permissions android-4.4-kitkat android-7.0-nougat


【解决方案1】:

从 Android 6.0(API 级别 23)开始,您必须在运行时请求权限。大多数应用程序在用户第一次启动应用程序时都会这样做。

要检查您是否已经拥有权限,请使用

int permissionCheck = ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.READ_SMS);

检查您是否可以阅读短信。 如果应用已经拥有权限,则返回PackageManager.PERMISSION_GRANTED,否则返回PackageManager.PERMISSION_DENIED

要请求权限,请使用

ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_SMS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);

其中MY_PERMISSIONS_REQUEST_READ_CONTACTS 是应用定义的 int 常量。

The corresponding documentation will give more detail about this.

请注意:您需要在Manifest中定义相应的<uses-permission>元素,然后在运行时请求权限。

要解决此问题,只需将目标 SDK 版本降至 23 以下即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    • 2020-02-12
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多