我的应用程序使用以下代码从MainActivity调用默认SMS应用程序:
if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat)
{
string defaultSmsPackageName = Telephony.Sms.GetDefaultSmsPackage(this);
Intent intent = new Intent(Intent.ActionMain);
intent.AddCategory(Intent.CategoryDefault);
intent.SetType("vnd.android-dir/mms-sms");
if (defaultSmsPackageName != null)
intent.SetPackage(defaultSmsPackageName);
StartActivity(intent);
}
else
{
Intent intent = new Intent(Intent.ActionMain);
intent.AddCategory(Intent.CategoryDefault);
intent.SetType("vnd.android-dir/mms-sms");
StartActivity(intent);
}
默认SMS应用程序已启动,但当我按下“返回”按钮时,我只是关闭应用程序窗口或返回MainActivity窗口。任何人都能解释一下我犯了错误吗?
答案 0 :(得分:0)
我没有让你的代码工作,我认为它只适用于你拥有的一种消息传递应用程序。我建议使用这种代码来调用短信应用程序(更多关于它的讨论:Sending SMS via an Intent and know if the SMS has been sent or not):
Intent intent = new Intent(Intent.ActionView);
intent.SetData(Android.Net.Uri.Parse("smsto:" + phoneNumber));
intent.PutExtra("address", phoneNumber);
intent.PutExtra("sms_body", messageBody);
intent.PutExtra("exit_on_sent", true);
StartActivity(intent);
使用此代码,在短信应用程序中立即按下后退按钮将重新打开您的应用程序。但是如果用户在短信应用程序中做了其他事情,我的经验是它不会回到你的应用程序。我不认为你可以强制另一个应用程序总是回到你的应用程序。如果您不接受,我建议您直接从您的申请中发送短信。