在 Android App 中调用默认短信应用的 Intent,需要使用以下代码:
Intent sendIntent = new Intent(Intent.ACTION_SENDTO);
sendIntent.setData(Uri.parse("smsto:" + phoneNumber));
sendIntent.putExtra("sms_body", message);
startActivity(sendIntent);
在上述代码中,phoneNumber 和 message 分别是短信的收件人号码和消息内容。使用 Intent.ACTION_SENDTO 这个 Action,可以让系统知道这是要发送一条短信,然后通过 Uri 格式来指定收件人。
但是,在 Android 4.4 (API level 19) 及以上的版本中,Google 引入了一项新的隐私保护功能。如果你的 App 并非默认短信应用,那么你只能通过 ContentProvider 和 SmsManager 类来发送短信。以下是实际使用该方法的示例代码:
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, message, null, null);
注意:使用 SmsManager 发送短信时,需要添加 SEND_SMS 权限。