【问题标题】:Use SmsManager to open the default sms app使用 SmsManager 打开默认短信应用
【发布时间】:2018-12-01 12:17:01
【问题描述】:

我正在构建一个 Xamarin Android 应用程序(API 版本>=23),该应用程序应该调用带有预填数字和预填文本的 SMS 默认应用程序。

我知道如何使用SmsManager 发送短信

SmsManager.Default.SendTextMessage("Number", null, "Text", null, null);

上述行在用户授予应用权限后直接发送短信文本。有没有办法打开默认的短信应用程序,而不是预先填写目的地号码和文本,让用户按发送?

任何帮助将不胜感激。

【问题讨论】:

    标签: c# android xamarin xamarin.android sms


    【解决方案1】:

    设置 Intent 可以调出默认的短信按摩器应用:

    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;
    

    【讨论】:

    • 非常感谢 :)),在这种情况下我的应用是否也需要 SEND_SMS 功能?
    • 不,我不知道,只是弄清楚:^p
    猜你喜欢
    • 2015-08-10
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多