9

私はプログラムでSMSを送信するために以下のイベントがあります。ただし、機能していないようです。トーストポップアップが表示され、logcatにエントリがなく、メッセージは作成されません。マニフェストファイルに適切な権限も追加しました。

何か提案はありますか?

 private Runnable SMSRunnable = new Runnable()
 {
     public void run()
     {      
         smsManager = SmsManager.getDefault();

        smsNumber = edittextSmsNumber.getText().toString();
        smsText = edittextSmsText.getText().toString();


        smsManager.sendTextMessage(smsNumber, smsNumber, smsNumber , null, null);

     }
 };
4

4 に答える 4

12

これを試して。

SmsManager sms = SmsManager.getDefault();
PendingIntent sentPI;
String SENT = "SMS_SENT";

sentPI = PendingIntent.getBroadcast(this, 0,new Intent(SENT), 0);

sms.sendTextMessage(phoneNumber, null, message, sentPI, null);
于 2012-05-25T10:15:39.130 に答える
2

私は多くの時間を費やしましたが、国コードを追加するだけでよいことがわかりました。私にとって、電話番号がチャンピオンのように機能する前に「+91」を付加しました。

String phnNumber="+91"+editText.getText().toString();
于 2015-12-02T15:47:31.157 に答える
1

これは私のために働くものです:

PendingIntent pi = PendingIntent.getActivity(this, 0,
        new Intent(this, Next.class), 0); 
//Next is the class to move when message sent
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage("phno", null, "message", null, null);
于 2012-05-25T10:29:07.150 に答える
1

実際、これは私のために働いています:

String messageText = "...YOUR TEXT HERE...";
SmsManager sm = SmsManager.getDefault();
sm.sendTextMessage("PHONE NUMBER HERE", null, messageText, null, null);

念のために言っておきますが、これを使用すると、メッセージ履歴に送信されたメッセージは見つかりません。

于 2012-05-25T10:36:17.213 に答える