免责声明

易百易数码科技

android 接收短信显示_发送接收短信API

Android接收短信可以使用SmsManager类,发送短信可以使用SmsManager类的sendTextMessage方法。

在Android中,接收短信并显示的API主要涉及到以下几个步骤:

1、注册广播接收器

android 接收短信显示_发送接收短信API-图1

2、创建短信过滤器

3、处理接收到的短信

4、显示短信内容

以下是详细的步骤和代码示例:

1、注册广播接收器

需要在AndroidManifest.xml文件中注册一个广播接收器,用于接收短信。

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

2、创建短信过滤器

android 接收短信显示_发送接收短信API-图2

创建一个类SmsReceiver,继承BroadcastReceiver,并重写onReceive方法,在onReceive方法中,可以获取到接收到的短信对象,然后根据需要过滤短信。

public class SmsReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (Telephony.Sms.Intents.SMS_RECEIVED_ACTION.equals(intent.getAction())) {
            Bundle bundle = intent.getExtras();
            if (bundle != null) {
                Object[] pdus = (Object[]) bundle.get("pdus");
                for (Object pdu : pdus) {
                    SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu);
                    String sender = smsMessage.getDisplayOriginatingAddress();
                    String messageBody = smsMessage.getMessageBody();
                    // 根据需要过滤短信,例如只显示来自特定号码的短信
                    if (sender.startsWith("10086")) {
                        Toast.makeText(context, "收到短信:" + messageBody, Toast.LENGTH_SHORT).show();
                    }
                }
            }
        }
    }
}

3、处理接收到的短信

在onReceive方法中,已经对接收到的短信进行了处理,如果需要进一步处理,可以在此处添加逻辑,可以将短信内容保存到数据库或发送到服务器等。

4、显示短信内容

在上面的代码示例中,已经使用Toast显示了短信内容,如果需要在其他界面显示短信内容,可以使用Intent将短信内容传递给目标Activity。

Intent intent = new Intent(context, SmsDetailActivity.class);
intent.putExtra("sender", sender);
intent.putExtra("messageBody", messageBody);
context.startActivity(intent);

在目标Activity中,可以通过以下方式获取短信内容:

String sender = getIntent().getStringExtra("sender");
String messageBody = getIntent().getStringExtra("messageBody");
android 接收短信显示_发送接收短信API-图3
分享:
扫描分享到社交APP
上一篇
下一篇