我想在我的应用程序中接收短信,但是如果还有其他任何应用程序也正在接收短信,则短信将转到该应用程序,并且我无法对其进行任何处理。我想先在我的应用中收到短信
在这里输入代码<receiver android:name="pk.wisesolutions.smsmanager.activity.IncomingMessage" > <intent-filter android:priority="999" > <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver>
自KitKat(版本4.4,API级别19)起,SMS功能已更改。
我想在我的应用程序中接收短信
如果您的应用具有RECEIVE_SMS
许可并且具有适当配置的BroadcastReceiver ,这仍然可能。
如果还有任何其他应用程序正在接收短信,短信将转到该应用程序,我不能用它做任何事情。
KitKat引入了默认SMS应用程序的概念。被选为默认SMS应用程序的应用程序侦听SMS_DELIVER
广播的操作,并负责处理适当的通知和提供程序写入。只有默认应用程序才可以控制将消息写入提供程序的过程。
该SMS_RECEIVED
操作仍在广播,但不能中止。这意味着您的应用程序仍然可以侦听和检索传入的SMS消息,但是它也不能阻止其他应用程序这样做,反之亦然。尽管您可以为Receiver设置的最大实际优先级是999
,但在这种情况下,它是无关紧要的,因为abortBroadcast()
它将不起作用,并且任何正在收听SMS_RECEIVED
广播的应用程序仍然可以接收它。如果您的应用程序没有接收和处理此广播,则说明还有其他情况。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句