我正在使用此代码在我的应用程序中发送intent默认短信应用
Intent smsIntent = new Intent(Intent.ACTION_VIEW);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address", number);
smsIntent.putExtra("sms_body",message);
if (smsIntent.resolveActivity(context.getPackageManager()) != null) {
context.startActivity(smsIntent);
}
此代码在android 5中打开一个短信应用程序(可能在kitkat中!)但它可能是也可能不是默认的短信应用程序!所以有时当它没有打开默认短信应用程序时我会收到一个错误,因为只有默认应用程序可以发送短信!
我的问题是如何确保只有默认应用处理我的意图?
答案 0 :(得分:1)
尝试添加此内容 -
smsIntent.addCategory(Intent.CATEGORY_DEFAULT);
这应确保收件人应用程序是默认应用程序。
或者对KK来说,你可以试试这个 -
SmsManager.getDefault().sendTextMessage("Phone Number", null, "Message", null, null);
N.B:使用此方法要求您的应用具有SEND_SMS权限。
有关详细信息,请参阅sendTextMessage() documentation