从多个号码中删除通话记录?

时间:2012-05-13 12:50:48

标签: android string uri calllog

需要帮助从多个号码中删除呼叫记录,使用以下代码我可以使用字符串从exatct号码中删除呼叫记录,我需要的是能够从字符串中的数字中删除日志中的呼叫。 / p>

下面是用于删除确切数字的代码:

String strUriCalls = "content://call_log/calls";
            Uri UriCalls = Uri.parse(strUriCalls);
            Cursor c = context.getContentResolver().query(UriCalls, null,
                    null, null, null);
            if (c.getCount() <= 0)

            {
                Toast.makeText(context, "Call log empty",
                        Toast.LENGTH_SHORT).show();
            }

            while (c.moveToNext())
            {
                //eg.what I need is:    String gonnabpref = "0750627663 09876756446 08987766545 0908977534";
                String gonnabpref = "0750627663";
                String queryString = "NUMBER='" + gonnabpref + "'";
                Log.v("Number ", queryString);
                int i = context.getContentResolver().delete(UriCalls,
                        queryString, null);
                  if (i >= 1)

                {

希望这有意义(noob)任何帮助非常感谢

2 个答案:

答案 0 :(得分:1)

在空格的基础上通过拆分字符串尝试这种方式:

String gonnabprefd = "0750627663 09876756446 08987766545 0908977534";
String[] numarry=gonnabprefd.split(" ");
for(int i=0;i<numarry.length;i++)
{
String gonnabpref = numarry[i];
String queryString = "NUMBER='" + gonnabpref + "'";
Log.v("Number ", queryString);
int i = context.getContentResolver().delete(UriCalls,
 queryString, null);
 if (i >= 1)
  {
}
}

答案 1 :(得分:1)

开头带+号的数字不会被删除。