Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android CallLog内容提供程序最多返回500个结果_Android_Android Contentprovider_Calllog - Fatal编程技术网

Android CallLog内容提供程序最多返回500个结果

Android CallLog内容提供程序最多返回500个结果,android,android-contentprovider,calllog,Android,Android Contentprovider,Calllog,出于某种原因,如果查询CallLog内容提供程序,最多会得到500个结果。 而且,我似乎只在1个月前收到结果(当我的手机应用程序显示我现在大约8个月时) 我在谷歌上搜索了一下,但我只找到了“没有解决方案的” 这是我的代码: String[] strFields = { android.provider.CallLog.Calls.NUMBER, android.provider.CallLog.Calls.DURAT

出于某种原因,如果查询CallLog内容提供程序,最多会得到500个结果。 而且,我似乎只在1个月前收到结果(当我的手机应用程序显示我现在大约8个月时)

我在谷歌上搜索了一下,但我只找到了“没有解决方案的”

这是我的代码:

String[] strFields = {
                    android.provider.CallLog.Calls.NUMBER,
                    android.provider.CallLog.Calls.DURATION,
                    android.provider.CallLog.Calls.DATE,
            };

            Cursor cursor = MainApplication.getAppContext().getContentResolver().query(
                    android.provider.CallLog.Calls.CONTENT_URI,
                    strFields,
                    null,
                    null,
                    null
            );

            if (cursor != null) {
                Log.d("aaa", cursor.getCount());
                ...
            }
            ...
我试图增加一个更高的限制,但没有改变

有人知道为什么我的结果有限吗

编辑:

在深入研究了一些Android代码之后,我在Android.provider.CallLog中找到了一个名为()的方法

private static void removeExpiredEntries(Context context) {
        final ContentResolver resolver = context.getContentResolver();
        resolver.delete(CONTENT_URI, "_id IN " +
                "(SELECT _id FROM calls ORDER BY " + DEFAULT_SORT_ORDER
                + " LIMIT -1 OFFSET 500)", null);
}
每次将调用添加到日志时都会调用:/ 这意味着呼叫日志内容提供程序最多可以返回500个条目


这就给我留下了一个问题:本机手机应用程序(在我的例子中,是三星的手机应用程序)如何显示更多的条目呢?

因此,通过查看日志,我得出结论,内容提供商确实会在条目超过500条时删除条目,该设备的手机应用程序所做的就是自己保存日志

有解决方案吗?如果你得到了答案,请把答案贴出来