RT.想知道这个怎么做?用到哪些方面的知识?有没有什么推荐的资料,谢谢~~!

解决方案 »

  1.   

    首先创建一个接收短信的Java类文件“ReceiverDemo.java”并继承”BroadcastReceiver”;
    并重写public void onReceive(Context context, Intent intent) 方法;
    重写内容如下:
       1: private static final String strRes = "android.provider.Telephony.SMS_RECEIVED";
       2:     @Override
       3:     public void onReceive(Context context, Intent intent) {
       4:         /*
       5:          * 判断是否是SMS_RECEIVED事件被触发
       6:          */
       7:         if (intent.getAction().equals(strRes)) {
       8:             StringBuilder sb = new StringBuilder();
       9:             Bundle bundle = intent.getExtras();
      10:             if (bundle != null) {
      11:                 Object[] pdus = (Object[]) bundle.get("pdus");
      12:                 SmsMessage[] msg = new SmsMessage[pdus.length];
      13:                 for (int i = 0; i < pdus.length; i++) {
      14:                     msg[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
      15:                 }
      16:                 for (SmsMessage currMsg : msg) {
      17:                     sb.append("您收到了来自:【");
      18:                     sb.append(currMsg.getDisplayOriginatingAddress());
      19:                     sb.append("】\n的信息,内容:");
      20:                     sb.append(currMsg.getDisplayMessageBody());
      21:                 }
      22:                 Toast toast = Toast.makeText(context, "收到了短消息: " + sb.toString(),Toast.LENGTH_LONG);   
      23:                 toast.show();   
      24:             }
      25:         }
      26:     }
      

  2.   

    谢谢,够详细哈~~ Thanks~ 不过目前还有点不明白,看了那节的书后,就好了 
    谢谢~~
      

  3.   

    以下三篇blog貌似可以解决你的问题
    1.解决db权限问题
    android 的短信数据库的读取
    2.读取实例
    android中读取短信
    [Android 机制] android怎么读取手机上的存储的短信内容呢?
      

  4.   


    嗯,谢谢·~  受教了。Thanks。