可以使用Android的BroadcastReceiver来接受短信广播。下面是一个简单的示例代码:
- 创建一个新的BroadcastReceiver类来处理短信广播,例如SmsReceiver:
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.SmsMessage;
import android.widget.Toast;
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");
if (pdus != null) {
for (Object pdu : pdus) {
SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu);
String sender = smsMessage.getOriginatingAddress();
String message = smsMessage.getMessageBody();
// 在这里处理接收到的短信内容
Toast.makeText(context, "收到来自 " + sender + " 的短信:" + message, Toast.LENGTH_SHORT).show();
}
}
}
}
}
}
- 在AndroidManifest.xml文件中注册该BroadcastReceiver。在
<application>
标签中添加以下代码:
<receiver android:name=".SmsReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
- 添加相应的权限到AndroidManifest.xml文件中。在
<manifest>
标签中添加以下代码:
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
现在你的应用程序将能够接收到来自短信的广播,并在收到短信时弹出一个Toast消息来显示短信发送者和短信内容。你可以根据自己的需求在onReceive
方法中添加相应的处理逻辑。
在Android平台中,可以使用短信广播接收器(SMS Broadcast Receiver)来接收短信。以下是一个示例代码,演示如何在Android应用中接收短信广播:
首先,在AndroidManifest.xml文件中注册短信接收器:
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<receiver android:name=".SmsReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
然后,在应用代码中创建SmsReceiver类:
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");
if (pdus != null) {
for (Object pdu : pdus) {
SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu);
String messageBody = smsMessage.getMessageBody();
// 在这里处理收到的短信内容
}
}
}
}
}
}
当应用接收到短信广播时,onReceive()
方法会被调用。在该方法中,可以通过bundle
对象获取短信内容,并进行相应的处理。
需要注意的是,上述代码中的 <receiver>
标签中,有一个 android:name
属性,指定了SmsReceiver类的路径。你可能需要根据自己的实际情况进行修改。

另外,在使用短信广播接收器时,需要在AndroidManifest.xml文件中声明接收短信的权限(<uses-permission android:name="android.permission.RECEIVE_SMS" />
)。
希望以上信息能对你有所帮助!
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/136623.html