2012-02-01 29 views
0

我想編寫方法發送編號和文本編輯文本字段中的短信。發送信息後,我想收到一些聲音或提醒我已收到短信。我怎樣才能做到這一點? 謝謝你, 狼。我該如何處理短信發送/接收?

+0

?清楚地說明問題。 – 2012-02-01 06:30:08

回答

4

這個網站似乎有兩者很好地寫了起來:http://mobiforge.com/developing/story/sms-messaging-android

最重要的部分是這樣的:

//---sends an SMS message to another device--- 
private void sendSMS(String phoneNumber, String message) 
{   
    PendingIntent pi = PendingIntent.getActivity(this, 0, 
     new Intent(this, SMS.class), 0);     
    SmsManager sms = SmsManager.getDefault(); 
    sms.sendTextMessage(phoneNumber, null, message, pi, null);   
} 

而這個答案有一個簡單的廣播接收器,以獲得短信進來: Android - SMS Broadcast receiver 應該是這個樣子:

public class SMSBroadcastReceiver extends BroadcastReceiver { 

    private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED"; 
    private static final String TAG = "SMSBroadcastReceiver"; 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     Log.i(TAG, "Intent recieved: " + intent.getAction()); 

      if (intent.getAction() == SMS_RECEIVED) { 
       Bundle bundle = intent.getExtras(); 
       if (bundle != null) { 
        Object[] pdus = (Object[])bundle.get("pdus"); 
        final SmsMessage[] messages = new SmsMessage[pdus.length]; 
        for (int i = 0; i < pdus.length; i++) { 
         messages[i] = SmsMessage.createFromPdu((byte[])pdus[i]); 
        } 
        if (messages.length > -1) { 
         Log.i(TAG, "Message recieved: " + messages[0].getMessageBody()); 
        } 
       } 
      } 
     } 
} 
當你有短信發送或收到短信後能得到聲音