java - Android 版本 - 4.0.4 中的通话记录与短信日志位于同一位置

标签 java android

我正在创建以这种方式读取调用日志的应用程序:

 Uri uriCallsURI = Uri.parse("content://call_log/calls");
 Cursor cur = mainActivity.getContentResolver().query(uriCallsURI, null, null, null, "_id");

Android 2.3.6 一切正常,但 Android 4.0.4 还显示短信作为通话记录。 如何防止这种情况发生?

最佳答案

不要对字符串进行硬编码。尝试编写这样的代码:

Cursor cur = null;
        try {
            cur = getContentResolver().query(CallLog.Calls.CONTENT_URI,
                    new String[] { BaseColumns._ID, CallLog.Calls.NUMBER },
                    null, null, "_id");

            if (cur != null && cur.moveToFirst()) {
                do {
                    Log.i("call", "id = " + cur.getString(0));
                    Log.i("call", "number = " + cur.getString(1));
                    Log.i("call", "..................................");
                } while (cur.moveToNext());
            }
        } finally {
            if (cur != null) {
                cur.close();
            }
        }

关于java - Android 版本 - 4.0.4 中的通话记录与短信日志位于同一位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19241744/

相关文章:

java - 使用 HtmlUnit 以编程方式从 HTML 获取列表

java - Sonar "Singular Field"规则与 lombok-getter 矛盾

java - Spring MVC - 如何使用 Controller 方法更新模型对象的属性?

java - 在 Android 中为涂抹/Swing 效果制作矩阵(见图片)

java - flutter 错误 : java. lang.NoSuchFieldError PREFER_HIGHEST_OR_REMOTE_VERSION_NO_FORCE_STAGING

java - 生成模块化 ANTLR Java

java - Android 选项卡被点击

android - 在 android N 以下本地化 Android 阿拉伯语

android - 向下滚动时,recyclerview 中的嵌套 ScrollView 不会触发 onscrolllistener

java - 添加点和平移后 AChartEngine 崩溃