您的位置:首页 > 移动开发 > Android开发

android短信发送,和状态

2014-01-13 16:54 453 查看
  

  

 

  

  // TODO Auto-generated method stub

  SmsManager smsManager = SmsManager.getDefault(); 

  List<String> divideContents = smsManager.divideMessage(EditSmsContent.getText().toString());   

  String SENT_SMS_ACTION = "SENT_SMS_ACTION"; 

  Intent sentIntent = new Intent(SENT_SMS_ACTION); 

  PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, sentIntent, 

          0); 

  // register the Broadcast Receivers 

  this.registerReceiver(new BroadcastReceiver() { 

      @Override 

      public void onReceive(Context _context, Intent _intent) { 

          switch (getResultCode()) { 

          case Activity.RESULT_OK: 

              Toast.makeText(_context, 

          "���ŷ��ͳɹ�", Toast.LENGTH_SHORT) 

          .show(); 

            

          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));

  

  

  String DELIVERED_SMS_ACTION = "DELIVERED_SMS_ACTION"; 

  // create the deilverIntent parameter 

  Intent deliverIntent = new Intent(DELIVERED_SMS_ACTION); 

  PendingIntent deliverPI = PendingIntent.getBroadcast(this, 0, 

         deliverIntent, 0); 

  this.registerReceiver(new BroadcastReceiver() { 

     @Override 

     public void onReceive(Context _context, Intent _intent) { 

         Toast.makeText(_context, 

    "�������Ѿ��ɹ�����", Toast.LENGTH_SHORT) 

    .show(); 

         EditSmsContent.setText("");

         send=true;

     } 

  }, new IntentFilter(DELIVERED_SMS_ACTION));

  

  insertSendSmsData(Number, EditSmsContent.getText().toString(), send);

  listInit();

  for (String text : divideContents) {   

      smsManager.sendTextMessage(Number, null, text, sentPI, deliverPI);   

  }

 
 
 
public static final String SMS_URI_ALL = "content://sms/";

    private boolean send=false;

   

    private void insertSendSmsData(String sentNumber, String sentContent, boolean isImmediateSend){

//  if(mTimingSmsModel != null){

   ContentValues values = new ContentValues();

   values.put(SmsField.ADDRESS, sentNumber);

   values.put(SmsField.PERSON, 0);

   if(isImmediateSend){

    Date nowTime = new Date();

    values.put(SmsField.DATE, nowTime.getTime());

   }

//   else{

//    values.put(SmsField.DATE, mTimingSmsModel.getTimeMillis());

//   }

   values.put(SmsField.DATE_SENT, 0);

   values.put(SmsField.READ, 1);

   values.put(SmsField.STATUS, -1);

   values.put(SmsField.TYPE, 2);

   values.put(SmsField.BODY, sentContent);

   values.put(SmsField.LOCKED, 0);

//   values.put(SmsField.SIM_ID, mTimingSmsModel.getSimCardId());

   values.put(SmsField.ERROR_CODE, 0);

   values.put(SmsField.SEEN, 1);

   values.put(SmsField.SEEN, 1);

   values.put(SmsField.IPMSG_ID, 0);

   getContentResolver().insert(Uri.parse(SMS_URI_ALL), values);

  }

 
 
 
 public class SmsField{

 public static final String ADDRESS     = "address";

 public static final String PERSON     = "person";

 public static final String DATE     = "date";

 public static final String DATE_SENT    = "date_sent";

 public static final String PROTOCOL    = "protocol";

 public static final String READ     = "read";

 public static final String STATUS     = "status";

 public static final String TYPE     = "type";

 public static final String REPLY_PATH_PRESENT  = "reply_path_present";

 public static final String SUBJECT     = "subject";

 public static final String BODY     = "body";

 public static final String SERVICE_CENTER   = "service_center";

 public static final String LOCKED     = "locked";

 public static final String SIM_ID     = "sim_id";

 public static final String ERROR_CODE    = "error_code";

 public static final String SEEN     = "seen";

 public static final String IPMSG_ID    = "ipmsg_id";

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: