在Android中,我们可以使用SmsManager类来发送短信,而接收短信则需要使用广播接收器(BroadcastReceiver),以下是详细的步骤和代码示例。
1. 发送短信
我们需要在AndroidManifest.xml文件中添加发送短信的权限:
<usespermission android:name="android.permission.SEND_SMS" />
我们可以使用SmsManager类的sendTextMessage方法来发送短信:
SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage(phoneNumber, null, message, null, null);
phoneNumber是接收短信的手机号码,message是要发送的短信内容。
2. 接收短信
我们需要在AndroidManifest.xml文件中添加接收短信的权限:
<usespermission android:name="android.permission.RECEIVE_SMS" />
我们需要创建一个广播接收器来接收短信:
public class SmsReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i = 0; i < msgs.length; i++) {
msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
String sender = msgs[i].getOriginatingAddress();
String messageBody = msgs[i].getMessageBody();
// 在这里处理接收到的短信
}
}
}
}
我们需要在AndroidManifest.xml文件中注册这个广播接收器:
<receiver android:name=".SmsReceiver">
<intentfilter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intentfilter>
</receiver>
这样,我们就可以在SmsReceiver的onReceive方法中处理接收到的短信了。
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/6961.html