我们可以在Android中收到短信吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

我正在删除收件箱中的短信息,但我想知道:如何在到达收件箱之前将其删除?

提问于
用户回答回答于

步骤1:创建自定义广播接收器来接收短信。编写逻辑放弃最广泛的内容,以便邮件不会在您的收件箱中可用:

public class SMSReceiver extends BroadcastReceiver
{
    public void onReceive(Context context, Intent intent)
    {
     if(conditionMatches){
     abortBroadcast();
     }
    }
}

Step-2在AndoridManifest中注册广播接收器,并将android:priority值设置为大数:

<receiver android:name=".SMSReceiver" >
            <intent-filter android:priority="1000">
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>

用户回答回答于

尽管对这个问题有一些负面的反应,但短信拦截仍有合法的用途。例如:电话号码验证自动化,通过SMS提供的服务(尽管通常这应该通过数据SMS完成),或者用于通过处理特殊格式的消息来改善用户体验以便将其显示在漂亮的Android中的应用程序特定的用户界面。

从Android 1.6开始,传入的SMS消息广播(android.provider.Telephony.SMS_RECEIVED)将作为“ 有序广播 ”提供 - 这意味着您可以告诉系统哪些组件应该首先接收广播。

如果你在SMS侦听中定义了一个属性<intent-filter>,你将在本机SMS应用程序之前收到通知。

扫码关注云+社区