使用SmsManager打开默认的短信应用

时间:2018-12-01 02:22:00

标签: c# android xamarin xamarin.android sms

我正在构建一个 Xamarin Android 应用程序(API版本> = 23),该应用程序应使用预填充的号码和预填充的文本来调用SMS默认应用程序。

我了解了如何使用SmsManager

发送短信
SmsManager.Default.SendTextMessage("Number", null, "Text", null, null);

上面的行在用户向应用授予权限后立即发送SMS文本。有没有一种方法可以打开默认的SMS应用程序,而不是预先填充目标号码和文本,然后让用户按Send键?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

设置Intent可以启动默认的SMS按摩器应用程序:

var intent = new Intent(Intent.ActionSendto);
intent.SetData(Android.Net.Uri.Parse("smsto:" + "555-555-1212"));
intent.PutExtra("sms_body", "StackOverflow rocks");
StartActivity(intent);

令人怀疑的是,没有SMS注册的应用程序,但是您可以使用填充的Intent来检查将要启动哪个应用程序/活动:

var packagename = intent.ResolveActivity(PackageManager)?.PackageName;