2017-05-03 11 views
-1

私の最終目標は、ユーザーが入力した電話番号のデータベースにテキストメッセージを送信するアプリケーションを作成することです。次に、ボタンを押すことによって、彼らは運転しているすべての人に自動的に応答し、別の時間にテキストを戻すことができます。自動メッセージ応答もカスタマイズ可能です。私はVisual Studio用のXamarinを使用しており、送信するテキストを作成するのに苦労しています。ボタンで直接SMSメッセージを送信する方法

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) => 
      { 

      } 
     } 
    } 
} 
+0

を通過してください[SmsManger](https://developer.android.com/reference/android /telephony/SmsManager.html)?! –

+0

私の問題は私がSmsManagerをやることだということです。テキストを送信するオプションはありません。しかし、開発者のウェブサイトには、sendTextMessage()というパブリックメソッドがあります。しかし私はVisual Studioで使うことはできません。 –

答えて

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" /> 

あなたは、SMSを受信したい場合は、以下の権限が必要です。

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

xam.plugin.Messagingのメッセージを送信するためのより良い方法はhttps://www.nuget.org/packages/Xam.Plugins.Messaging/

そしてメッセージを

VAR smsMessenger = CrossMessaging.Current.SmsMessengerを送信するために以下のコードを使用します。 if(smsMessenger.CanSendSms) smsMessenger.SendSms( "+ 1234567890"、 "Well hello there Xam.Messaging.Plugin");

また、詳細についてはお使いのAndroidマニフェストファイルに

をandroid.permission.SEND_SMS権限を追加してくださいhttps://github.com/cjlotz/Xamarin.Plugins/blob/master/Messaging/Details.md

関連する問題