我们能在手机短信到达收件箱之前删除它吗?

我们能在手机短信到达收件箱之前删除它吗?

我正在从收件箱中删除一条短信,但我想知道:如何在它到达收件箱之前删除它?


千万里不及你
浏览 189回答 3
3回答

慕尼黑5688855

第1步:创建自定义广播接收器以接收SMS。写入逻辑以中止加宽,以便您的收件箱无法使用该消息。public&nbsp;class&nbsp;SMSReceiver&nbsp;extends&nbsp;BroadcastReceiver{ &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;onReceive(Context&nbsp;context,&nbsp;Intent&nbsp;intent) &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(conditionMatches){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;abortBroadcast(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;}}第二步在安道尔宣言中注册广播接收器并放置Android:优先级值很大<receiver&nbsp;android:name=".SMSReceiver"&nbsp;> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<intent-filter&nbsp;android:priority="1000"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<action&nbsp;android:name="android.provider.Telephony.SMS_RECEIVED"&nbsp;/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</intent-filter> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</receiver>就这样以上代码是如何工作的?由于SMS接收广泛的广播是一个有序的广播,具有高优先级的接收器将首先接收,因此您的应用程序首先接收,然后接收到您正在中止广播。所以没有其他的应用程序可以接收到它。因此,sms将不存在于收件箱中。

人到中年有点甜

下面的解决方案(“Android:优先级”和ABORTBroadcast()只要Android消息应用程序是默认的(我指的是股票Android消息传递应用程序)就可以工作。如果用户安装“GoSMSPro”或“HandcentSMS”,这些应用程序仍然在收件箱中显示消息,我相信这是因为“Android:优先级”。如果第三方消息应用程序安装在电话上,我看不出有什么更好的方法来解决上面的问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android