java - 如何仅删除上次通话的日志?

标签 java android string

使用以下代码,我可以删除来​​自特定号码的调用,这工作正常,只是速度非常慢,并且应用程序在代码运行时变得无响应(特别是如果日志中有很多调用)

所以我真正想要的是它只检查日志中的最后一个调用,而不是通过漏洞日志。

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/

相关文章:

java - 使用opencv java检测图像中文档的边界

java - 如何获取以毫秒为单位的格式化日期?

java - 为什么 mediaPlayer.stop();不在这里工作?

Android Studio 重命名包含公司名称的包

regex - 在golang中用零替换数字

使用 javac 对同一 jar 成功编译后,java 在 jar 中找不到类

java - 从 .yaml 生成 POJO

c++ - 无法使用 _stprintf 读取俄语字符串

java - 在Web项目中,我们可以在不了解UI的情况下编写核心服务层吗?

java - 使用 Java Collat​​or 区分大小写的顺序