如何使用按钮发送直接SMS消息

时间:2017-05-03 16:53:31

标签: c# android visual-studio xamarin

我的最终目标是创建一个应用程序,将文本消息发送到用户输入的电话号码数据库。然后,通过按下按钮,他们可以自动响应他们正在驾驶的所有人,并希望他们再次给他们发短信。自动消息响应也是可自定义的。我在视觉工作室使用Xamarin,并且正在努力制作文本。

using Android.App;
using Android.Widget;
using Android.OS;
using System;
using Android.Telephony;

namespace DrivePhone_GeniusHourProject
{
    [Activity(Label = "Drive Time!", MainLauncher = true, Icon = "@drawable/icon")]
    public class MainActivity : Activity
    {
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView (Resource.Layout.Main);

            EditText SMS = FindViewById<EditText>(Resource.Id.SMS_Message);
            Button sendSMS = FindViewById<Button>(Resource.Id.Send_SMS);

            string SMS_Text = SMS.ToString();
            var smsTo = NSUrl.FromString();
            SmsMessage();

            smsTo = "815376377";
            sendSMS.Click += (object sender, EventArgs e) =>
            {

            }
        }
    }
}

2 个答案:

答案 0 :(得分:1)

  

我的问题是我会做SmsManager。然后没有发送文本的选项。但在开发者网站上有一个名为sendTextMessage()的公共方法;但我无法在Visual Studio中使用它。

在Xamarin中,它是Android.Telephony.Gsm.SmsManager.SendTextMessage Method

例如:

sendSMS.Click += (object sender, EventArgs e) =>
{
   var content = "**HERE GOES SMS CONTENT**";
   var destinationAdd = "**HERE GOES DESTINATION PHONE NUMBER**";

   Android.Telephony.Gsm.SmsManager sm = SmsManager.Default;
   sm.SendTextMessage(destinationAdd, null, content, null, null);
}

不要忘记在清单中添加权限:

<uses-permission android:name="android.permission.SEND_SMS" />

如果您想接收短信,还需要以下许可:

<uses-permission android:name="android.permission.RECEIVE_SMS" /> 

答案 1 :(得分:1)

有关更好的方式发送消息安装xam.plugin.Messaging(https://www.nuget.org/packages/Xam.Plugins.Messaging/

然后使用以下代码发送消息

var smsMessenger = CrossMessaging.Current.SmsMessenger; if(smsMessenger.CanSendSms)    smsMessenger.SendSms(&#34; + 1234567890&#34;,&#34;你好,从Xam.Messaging.Plugin&#34;);

另外请将android.permission.SEND_SMS权限添加到Android清单文件

有关详情,请浏览https://github.com/cjlotz/Xamarin.Plugins/blob/master/Messaging/Details.md