我正在构建一个 Xamarin Android 应用程序(API版本> = 23),该应用程序应使用预填充的号码和预填充的文本来调用SMS默认应用程序。
我了解了如何使用SmsManager
SmsManager.Default.SendTextMessage("Number", null, "Text", null, null);
上面的行在用户向应用授予权限后立即发送SMS文本。有没有一种方法可以打开默认的SMS应用程序,而不是预先填充目标号码和文本,然后让用户按Send键?
任何帮助将不胜感激。
答案 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;