使用以下代码,我可以删除来自特定号码的调用,这工作正常,只是速度非常慢,并且应用程序在代码运行时变得无响应(特别是如果日志中有很多调用)
所以我真正想要的是它只检查日志中的最后一个调用,而不是通过漏洞日志。
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()) {
SharedPreferences sp = PreferenceManager
.getDefaultSharedPreferences(context);
String gonnabprefd = sp.getString("callerase", null);
String[] numarry = gonnabprefd.split(" ");
for (int i = 0; i < numarry.length; i++) {
String gonnabpref = numarry[i];
String queryString = "NUMBER='" + gonnabpref + "'";
Log.v("Numberimcomingreciver ", queryString);
int b = context.getContentResolver().delete(UriCalls,
queryString, null);
if (b >= 1) {
Toast.makeText(context, "deleted", Toast.LENGTH_LONG)
.show();}}
最佳答案
不想回答我自己的问题,但删除
while (c.moveToNext()) {
工作
关于java - 如何仅删除上次通话的日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10606344/