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

我的接收短信的人需要系统给予什么权限?

商嘉木
2023-03-14

我在Android应用程序中静态注册了一个BroadcastReceiver,它处理传入的SMS消息,如下所示:

        <receiver
            android:name=".receivers.SmsReceiver"
            android:exported="true" >
            <intent-filter android:priority="100" >
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>

Lint将此标记为警告,因为导出接收方时不需要调用方的任何权限。如果我将导出的属性设置为false,则系统在收到SMS消息时无法呼叫我的接收器。

那么,在注册接收者以处理收到的短信时,我应该从系统获得哪些权限?

编辑:

我不是在要求“使用权限”标签,它使我的应用程序能够接收短信。我要求为我的接收器设置适当的“android:permission”值,这样只有系统才能发送这样的广播消息,而另一个应用程序不能为我的应用程序欺骗这样的事件。

例如。:

        <receiver
            android:name=".receivers.SmsReceiver"
            android:exported="true"
            android:permission="com.android.permission.SOME_PERMISSION_ONLY_THE_SYSTEM_HAS">
            <intent-filter android:priority="100" >
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>

共有1个答案

巢嘉志
2023-03-14

使用android的:优先级="2147483647",而不是android的:优先级="100",因为假设你有使用任何应用程序的优先级是高比较你的优先级为u设置,那么你的广播永远不会通知。

 类似资料:
  • 问题内容: 我的Python程序中有一个保存函数,如下所示: 在此,n为“ 1”。 我收到如下错误: 在外壳中执行相同的加载后,我没有收到任何错误: 为什么会有问题? 问题答案: 您可能从os模块导入了星号: 因此您使用了错误的打开功能。(我想您可以简单地完成,但是可能性较小。)通常,应避免这种导入样式,在实际情况下应避免使用。

  • 我目前正在处理一组应用程序,这些应用程序运行在两个独立但等效的环境中(称为和)。我一直在使用OAuth 2.0进行授权,当我从OAuth服务请求访问令牌后收到响应时(我正在通过Postman进行请求),我会从和得到如下响应: 据我所知,我相信这个< code >“token _ type”:“Bearer”意味着当我向我的应用程序发送< code>access_token时,我需要这样做: 通过前

  • 问题内容: Docker对Union File系统(例如AUFS)创建容器究竟做了什么?如果Docker必须使用常规文件系统而不是联合文件系统,那么会有什么缺点? 我正在寻找具体的技术细节/内部信息,而不是高水平的答案。 问题答案: 它用于: 避免在每次将图像作为新容器运行时复制一组完整的文件 在其自己的层中隔离对容器文件系统的更改,从而允许从已知内容重新启动同一容器(因为移除容器后,具有更改的层

  • 本文向大家介绍Android BroadcastReceiver接收收到短信的广播,包括了Android BroadcastReceiver接收收到短信的广播的使用技巧和注意事项,需要的朋友参考一下 一、知识介绍   1、broadcastReceiver是广播接受者,四大组件之一。   2、Android中内置了很多系统级别的广播,可以在应用程序中得到各种系统的状态信息。   3、使用场景:  

  • 我真的被系统搞糊涂了。python中的exit()。在python文档中,它表示“退出python”;这是否意味着当在python程序中被调用,进程将退出吗?如果是,下面的代码将显示不同的结果: 在linux中启动这个程序,结果并不像python文档所说的那样是预期的,但仍然在系统中运行,所以真的要退出吗?

  • 问题内容: 我想从基于linux的系统上运行的C应用程序中获得系统正常运行时间。我不想调用uptime(1)并解析输出,我想调用我怀疑存在的基础C API。任何人都知道是否有这样的电话,或者uptime(1)只是处理从wtmp获得的记录吗? 问题答案: 您要查找的系统调用是sysinfo()。 它在sys / sysinfo.h中定义 它的签名是:int sysinfo(struct sysinf