2011-12-08 13 views
2

我正在开发应用程序,因为我必须获取过去10天的所有通话和短信记录。现在,我只能找出所有向我发送短信和所有手机通讯录的联系人。所以,请大家帮我展示一下如何从我的应用程序中查找或获取最近10天的通话和短信详细信息?如何从我的应用程序中查找过去10天的通话和短信详细信息

我的代码是这样的:

final Uri SMS_INBOX = Uri.parse("content://sms/inbox"); 

Cursor c = getContentResolver().query(SMS_INBOX, null, "read", null, null); 
int readMessagesCount = c.getCount(); 
Toast.makeText(getApplicationContext(), 
    "Read massage info"+readMessagesCount, 2000).show(); 
c.deactivate(); 
while (c.moveToNext()) { 
    String asd = new String(c.getBlob(c.getColumnIndex("address"))); 
    Toast.makeText(getApplicationContext(), asd, Toast.LENGTH_SHORT).show(); 

回答

2

对于呼叫日志,你可以使用下面的代码:它通过与当前日期comapring日期返回日期,你可以过滤不同的最近10天的日志。

Cursor c = context.getContentResolver().query(
            android.provider.CallLog.Calls.CONTENT_URI, 
            null, null, null, 
            android.provider.CallLog.Calls.DATE + " DESC"); 
           int numberColumn = c.getColumnIndex(
              android.provider.CallLog.Calls.NUMBER); 
           int dateColumn = c.getColumnIndex(
              android.provider.CallLog.Calls.DATE); 

          // type can be: Incoming, Outgoing or Missed 

           int typeColumn = c.getColumnIndex(
             android.provider.CallLog.Calls.TYPE); 
           int DurationColumn = c.getColumnIndex(

            android.provider.CallLog.Calls.DURATION); 

                  if(c.moveToPosition(0)) 
           { 
            String callerPhoneNumber = c.getString(numberColumn); 
            String callerPhoneDate = c.getString(dateColumn); 
            String TYeor = c.getString(typeColumn); 



           String Duration = c.getString(DurationColumn); 
       }   

而且我认为短信日志也会返回日期,因此您可以使用与短信日志相同的逻辑。

+0

我可以在哪里提到获得记录的天数? – Kutbi

+0

嗨bindal..can你请给我一些关于短信日志的提示.... – Kutbi

+0

@bindal嗨我从android消息应用程序中键入一条消息,并发送给你。我写一个应用程序,并从我的code.how检索你的号码这是可能的吗?请你帮我解决这个问题。请给我发邮件[email protected] – Maidul

相关问题