如何在Android中计算修复日期收件箱短信

IPL*_*L10 -1 sms android counter

我正在尝试开发一个SMS计数器应用程序,其中我要计算当前日期的所有SMS。我不想计算收件箱中的短信总数。我正在使用以下代码,但未获得确切结果。它正在计算收件箱中的短信总数。

TextView视图=新的TextView(this);

    Uri uriSMSURI = Uri.parse("content://sms/inbox");
    Cursor cur = getContentResolver().query(uriSMSURI, null, null, null,null);
    /*
    int nsm = 0;
    while(cur.moveToNext()){
    nsm+= + cur.getCount();
    }
    */
    String sms = "";

   while ( cur.moveToNext());{
     //   sms += "From :" + cur.getString(2) + " : " + cur.getString(11)+"\n";   
   //    sms += cur.getString(2); 
        sms += "Total SMS in the INBOX : "+cur.getCount();
   }
    view.setText(sms);

    setContentView(view);
Run Code Online (Sandbox Code Playgroud)

我是一个新学习者。提前致谢。

p4u*_*144 6

如果您要计算过去24小时内收到的短信数量,则可以执行以下操作(不确定这是否确实有效,因为我没有测试过,但是您知道了):

Uri uriSMSURI = Uri.parse("content://sms/inbox");
long now = System.currentTimeMillis();
long last24 = now - 24*60*60*1000;//24h in millis
String[] selectionArgs = new String[]{Long.toString(last24);
String selection = "WHERE " + "date" + ">?";
Cursor cur = getContentResolver().query(uriSMSURI, null, selection, selectionArgs,null);
Run Code Online (Sandbox Code Playgroud)

然后一个简单的cur.getCount()应该让您收到的短信数量。