当前位置: 首页 > 知识库问答 >
问题:

为什么RECEIVE_SMS和READ_SMS权限没有不同的提示框来请求权限?

公宜春
2023-03-14

我已经在我的应用程序清单文件中列出了RECEIVE_SMS和READ_SMS的权限,它们也有不同的权限字符串。

授予相应的权限。然而,我注意到,在授予(用户)任何一个权限(READ_SMSRECEIVE_SMS)时,我们都可以执行这两项任务。我的问题是,如果他们两人执行不同的任务:

1)READ_SMS:它允许应用程序读取用户手机上的所有短信(当前存在)。

2) RECEIVE_SMS:它允许应用程序在用户使用应用程序时收听用户手机上接收到的所有短信。

请求权限和拒绝其中一个权限时,这两个对话框都会显示相同的对话框,但这两个对话框都不会出现。

如果两者都有相同的权限授予场景,那么为什么它们以两种权限的形式分开?如果你们中有人能帮助我理解这一点,那将是对我的巨大帮助。

共有1个答案

龙佐
2023-03-14

根据Android关于请求权限的文档:

权限组:
所有危险的Android系统权限都属于权限组。如果设备运行的是Android 6.0(API级别23)和应用程序

如果应用请求其清单中列出的危险权限,而该应用当前在权限组中没有任何权限,系统将向用户显示一个对话框,描述该应用想要访问的权限组。对话框不会描述该组中的特定权限。例如,如果应用请求

警告:Android SDK的未来版本可能会将特定权限从一个组移动到另一个组。因此,不要将应用程序的逻辑建立在这些权限组的结构上。例如,如果你的应用程序请求READ_CONTACTS权限,然后是WRITE_CONTACTS权限,那么你不应该假设系统可以自动授予WRITE_CONTACTS权限,即使它与Android 8.0(API级别26)的READ_CONTACTS属于同一权限组。


以下是SMS权限组下的权限列表:

  • 发送_短信
  • 发送_短信
  • 接收短信
  • 阅读_短信
  • 接收WAP推送
  • 接收彩信
 类似资料:
  • 我将只同意graph API中的特定管理权限。 但它请求所有租户权限。 当前逻辑为 如何请求对特定权限的同意?

  • 我一直在尝试实现运行时权限。下面是它的代码片段: RunTimePermissionsUtil。JAVA 在一个名为AddFileActivity的活动中,我在一个点击事件中实现了这个监听器,其代码如下: 所以,我所有的代码都会执行,它会进入onNeed权限()代码,其中,它会进入 但是,令人惊讶的是,在此之后,没有任何对话框要求获得摄像头的运行时权限,相反,对话框关闭并再次显示活动。 有没有人能

  • 使用指南 - 数据报告 - 概述 - 为什么有些报告没有权限 在百度统计中,无权限报告所属的站点应是“权限站点”,权限站点在右上角站点选择下拉框中有“权限站点”的字样标注,如图所示: 权限站点是其他账户将其自有站点授权给您查看数据的站点,在授权时定义了您的查看和设置权限。如果此报告无权限,说明授权发起者未授权给您。 您可以在“管理->网站列表”的“权限网站”标签下,查看该站点的权限来源账户,如需开

  • 我最常看到基于角色的访问控制(RBAC)需要权限才能执行操作。为主题分配了授予其权限的角色。 我最近遇到了一个授权库,它没有权限和角色的单独概念。主体仍然被授予角色,但是授权检查直接对角色进行,并且没有权限的概念。我担心这种设计有缺点,因为我很少看到它。以这种方式组合角色和权限可能会出现什么问题?在这个系统中,什么事情更困难?

  • 使用v2.0endpoint重定向Uri-https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=&redirect_uri=&response_type=code id_token&scope=openid profile&response_mode=form_post 使用v1.0endpoint重定向U

  • 是否可以在同一个对话框中同时请求多个权限,比如读联系人、读短信和写外部存储? 如果是,如何做到?请提供一个例子。 我已经在网上搜索了几个小时,但找不到方法。请帮忙!