80,351
社区成员
发帖
与我相关
我的任务
分享
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.media.MediaPlayer;
import android.sax.StartElementListener;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
import android.text.TextUtils;
import android.util.Log;
public class SMSreceiver extends BroadcastReceiver {
private static final String TAG = "SMSReceiver";
@Override
public void onReceive(Context context, Intent intent) {
// 写接收短信的代码
Object[] objs = (Object[]) intent.getExtras().get("pdus");
for(Object b:objs){
//具体的某一条短信
SmsMessage sms =SmsMessage.createFromPdu((byte[]) b);
//发送者
String sender = sms.getOriginatingAddress();//15555555556
Log.i(TAG, "====sender=="+sender);
String body = sms.getMessageBody();
//body是短信内容
if (body.startsWith("KEY")) {
abortBroadcast();
}
}
}}
这个写完需要在manifest文件中配置一下
<intent-filter android:priority="1000">
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>,然后记得给权限