【发布时间】:2015-08-10 01:42:31
【问题描述】:
当用户单击按钮时,默认短信应用程序应打开,并且我还提供了我正在向其发送号码但无法执行此操作的消息,下面是我现在正在使用的代码。
private void sendSMS(String _Mobile_Number) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) // At least KitKat
{
String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(context); // Need to change the build to API 19
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, "text to send");
// sendIntent.setData(Uri.parse("sms:" + _Mobile_Number));
if (defaultSmsPackageName != null)// Can be null in case that there is no default, then the user would be able to choose
// any app that support this intent.
{
sendIntent.setPackage(defaultSmsPackageName);
}
context.startActivity(sendIntent);
} else // For early versions, do what worked for you before.
{
Intent smsIntent = new Intent(android.content.Intent.ACTION_VIEW);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address", _Mobile_Number);
smsIntent.putExtra("sms_body", "");
context.startActivity(smsIntent);
}
}
当我使用下面的行时,它给了我例外。
sendIntent.setData(Uri.parse("sms:" + _Mobile_Number));
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.SEND dat=sms:xxxxxxxxxxxx flg=0x1 pkg=com.google.android.talk (has clip) (has extras) }
如果我不使用该行,那么我的默认应用程序会打开,但它会显示联系人列表。当我在文本中选择一个联系人时,我会看到我写的“要发送的文本”的文本。但我不想要这个
我想要的是当我单击按钮时打开我的默认应用程序,并且在联系人文本框中我提供的号码应该在那里。
【问题讨论】:
标签: android sms android-5.0-lollipop