免责声明

易百易数码科技

android 拦截短信_Android

文章目录


在Android中,可以通过监听短信广播并拦截短信内容来实现短信拦截功能。

Android 拦截短信

介绍

在Android系统中,我们可以使用广播接收器(BroadcastReceiver)来拦截短信,通过注册一个广播接收器,并在其onReceive()方法中处理短信的接收和发送事件,我们可以实现短信拦截的功能。

android 拦截短信_Android-图1

注册广播接收器

要注册广播接收器,我们需要在AndroidManifest.xml文件中添加以下代码:

<receiver android:name=".SmsReceiver">
    <intentfilter>
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
    </intentfilter>
</receiver>

SmsReceiver是我们自定义的广播接收器类。

创建广播接收器类

接下来,我们需要创建一个名为SmsReceiver的广播接收器类,该类需要继承自BroadcastReceiver并重写onReceive()方法,在该方法中,我们可以获取到短信的内容、发送者等信息,以下是一个简单的示例:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;
public class SmsReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) {
            Bundle bundle = intent.getExtras();
            if (bundle != null) {
                Object[] pdus = (Object[]) bundle.get("pdus");
                for (Object pdu : pdus) {
                    SmsMessage message = SmsMessage.createFromPdu((byte[]) pdu);
                    String sender = message.getDisplayOriginatingAddress();
                    String body = message.getDisplayMessageBody();
                    Log.d("SmsReceiver", "Sender: " + sender + ", Body: " + body);
                }
            }
        }
    }
}

拦截短信操作

onReceive()方法中,我们可以对短信进行拦截操作,我们可以根据短信的发送者或内容来决定是否显示短信通知,以下是一个简单的示例:

if (sender.equals("1234567890")) { // 拦截特定号码发送的短信
    return; // 不显示短信通知
} else if (body.contains("关键词")) { // 根据短信内容拦截短信
    return; // 不显示短信通知
} else {
    // 正常显示短信通知的逻辑...
}

常见问题与解答

Q1:如何拦截所有短信?

A1:在onReceive()方法中,不需要判断发送者或内容,直接返回即可实现拦截所有短信的效果。return;,这样,无论收到什么短信,都不会显示通知。

Q2:如何取消拦截短信功能?

android 拦截短信_Android-图2

A2:要取消拦截短信功能,只需将广播接收器的注册代码从AndroidManifest.xml文件中移除即可。

android 拦截短信_Android-图3
分享:
扫描分享到社交APP
上一篇
下一篇