2013-07-27 34 views
0

我正在研究有关SMS的Android应用程序。我需要一些来自主人的建议。现在我正在尝试阅读与此代码块短信:Android SMS操作

private String readSMS(){ 
     Uri SmsUri=Uri.parse("content://sms/inbox"); 
     String[] projection=new String[]{"_id","address","body","date"}; 
     Cursor cursor=null; 
     cursor=getContentResolver().query(SmsUri,projection,null,null,null); 
     if(cursor!=null&&cursor.moveToFirst()){  
      int id=cursor.getInt(cursor.getColumnIndex("_id"));  
      String address=cursor.getString(cursor.getColumnIndex("address")); 
      String body=cursor.getString(cursor.getColumnIndex("body")); 
      return body;  
     }  
     return ""; 
    } 

现在我想问一个问题。我可以编写一个图层来管理短信。例如,我想在用户识别它之前阅读SMS。我会用这个短信,如果我想和我的程序中显示其他我什么都不会做,原始手机短信应用程序将采取它,并通过通知报告用户。 这就是我的意思: enter image description here

谢谢。

回答

0

你可以实现一个BroadcastReceiver捕获消息并在需要时处理它们。有关如何实施它,请参阅this post

为了取消其他应用程序对消息的进一步处理,请按照this post调用abortBroadcast();。尽管建议您不要使用最大值,但将优先级设置为相当高的值很重要。

希望这会有所帮助....干杯!

+0

谢谢你,我认为这对我有用! –