Android發送短信

wKiom1b83z3TvYI7AAAcJSYFeMU317.png首先做好佈局,然後在“發送”做點擊事件,如下所示:

String phoneNumber = editPhone.getText().toString().trim();
String message = editMessage.getText().toString().trim();
sendSMS(phoneNumber,message);  

private void sendSMS(String phoneNumber, String message) {
  String SENT_SMS_ACTION="SENT_SMS_ACTION";
  String DELIVERED_SMS_ACTION = "DELIVERED_SMS_ACTION";  
  sendIntent = new Intent(SENT_SMS_ACTION);
  deliverIntent = new Intent(DELIVERED_SMS_ACTION);  
  //返回發送的狀態
    sentPI = PendingIntent.getBroadcast(this, 0, sendIntent,  
                 0);  
         this.registerReceiver(new BroadcastReceiver() {  
             @Override  
             public void onReceive(Context _context, Intent _intent) {  
                 switch (getResultCode()) {  
                 case Activity.RESULT_OK:  
                     Toast.makeText(MainActivity.this,  
                 "短信發送成功", Toast.LENGTH_SHORT)  
                 .show();  
                     editPhone.setText("");
                     editMessage.setText("");
                 break;  
                 case SmsManager.RESULT_ERROR_GENERIC_FAILURE:  
                 break;  
                 case SmsManager.RESULT_ERROR_RADIO_OFF:  
                 break;  
                 case SmsManager.RESULT_ERROR_NULL_PDU:  
                 break;  
                 }  
             }  
         }, new IntentFilter(SENT_SMS_ACTION)); 
         
         //返回接收的狀態
         deliverPI = PendingIntent.getBroadcast(this, 0,  
                 deliverIntent, 0);  
          this.registerReceiver(new BroadcastReceiver() {  
             @Override  
             public void onReceive(Context _context, Intent _intent) {  
                 Toast.makeText(MainActivity.this,  
            "收信人已經成功接收", Toast.LENGTH_SHORT)  
            .show();  
             }  
          }, new IntentFilter(DELIVERED_SMS_ACTION));  
  
  //發送短信
  SmsManager smsManager =SmsManager.getDefault();
  ArrayList<String> divideMessage = smsManager.divideMessage(message);
  for(String text:divideMessage){
   smsManager.sendTextMessage(phoneNumber, null, text, sentPI, deliverPI);
  }
 }

這樣就好了,最後不要忘記了在清單文件中配置短信的權限

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章