拦截SMS意图(非默认应用程序)

时间:2014-10-11 16:43:19

标签: android sms android-4.4-kitkat telephony smsmanager

我正在考虑为Android编写一个小应用程序拦截收到的文本并将其推送到Windows计算机,您可以在其中对其进行响应。但是,我知道你不能在Android上发送短信而不是默认的短信应用程序,我不想制作一个完整的短信客户端..只是拦截文本并在Windows上显示它,但使用默认短信发送和接收的应用程序。这可能吗?

1 个答案:

答案 0 :(得分:0)

因此,要首先接收SMS,您必须设置具有最高优先级的IntentFilter。像:

IntentFilter filter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
registerReceiver(smsReceiver , filter);

其中smsReceiver是一个扩展BroadcastReceiver的类。在onReceive方法中你可以调用abortBroadcast();这将停止广播" android.provider.Telephony.SMS_RECEIVED"事件。更多信息http://developer.android.com/reference/android/content/BroadcastReceiver.html