在Android中,发送和接收短信的功能是通过使用系统提供的SMS Manager来实现的。发送短信的操作可以使用以下Action:
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("smsto:" + phoneNumber));
intent.putExtra("sms_body", message);
startActivity(intent);
在上述代码中,使用了Intent.ACTION_SENDTO
来启动发送短信的操作,并且指定了电话号码和短信内容。当用户点击发送按钮时,系统会调用默认的短信应用来发送短信。
接收短信的操作通常是通过注册BroadcastReceiver来监听系统发送的android.provider.Telephony.SMS_RECEIVED
广播。以下是一个示例代码:
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");
SmsMessage[] messages = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
}
String message = messages[0].getMessageBody();
String sender = messages[0].getOriginatingAddress();
// 处理接收到的短信
}
}
}
}
在onReceive
方法中,通过判断收到的Intent的Action是否为android.provider.Telephony.SMS_RECEIVED
广播来处理接收到的短信。获取短信内容和发送者的电话号码后,可以在方法中进行处理。需要在AndroidManifest.xml中注册该广播接收器来接收短信。
以上是在Android中发送和接收短信的操作,需要注意权限和广播等相关的内容来保证短信功能的正常使用。
徐州阿里云代理商:Android短信的 Action 是指在 Android 平台上发送和接收短信时所使用的操作或事件。在 Android 应用程序中发送和接收短信通常需要使用系统提供的 SMS 操作,这些操作会触发不同的 Action。一些常见的 Android 短信的 Action 包括:
- android.provider.Telephony.SMS_RECEIVED:当手机收到新的短信时会触发该 Action,可以通过注册广播接收器来监听并处理收到的短信。
- android.provider.Telephony.SMS_DELIVER:在接收到新的短信并将其保存到收件箱时触发该 Action。
- android.provider.Telephony.SMS_SENT:在发送短信时触发该 Action,可以通过监听该 Action 来获取发送短信的状态。
- android.provider.Telephony.SMS_DELIVER_ACTION:用于表示短信传送的 Action。
通过监听这些 Action,开发者可以实现短信的发送和接收功能,并对短信进行相应的处理和操作。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/154383.html