0

我可以在 LogCat 中看到ActivityManager报告有关特定内容提供者的信息。我使用以下代码尝试访问该内容提供程序以了解更多信息:

    Cursor cursor = context.getContentResolver().query(uriDSDS, null, null, null, null); 

    String[] columnNames = cursor.getColumnNames();        
    Log.d(TAG, "columnNames=" + columnNames.toString());

不幸的是,在尝试获取光标后,我在 LogCat 中看到以下错误:

找不到__的提供者

有什么问题?为什么我无法访问此提供程序?难道访问权限仅限于某些应用程序?有没有办法进入 ADB 或其他东西来查看设备上所有可用的内容提供者?

4

2 回答 2

0

如下面的工作示例所示,请检查您的 uriDSDS 是否正确。

Cursor people = getContentResolver().query(
                        ContactsContract.Contacts.CONTENT_URI, null, null, null,
                        null);

                // get contact id
                while (people.moveToNext()) {
                    if (people != null) {
                        int numberFieldColumnIndex = people
                                .getColumnIndex(PhoneLookup._ID);
                        String number = people.getString(numberFieldColumnIndex);
                        contactId.add(number);
                    }
                }

                people.close();
于 2013-05-14T08:30:33.090 回答
0

例如,确保添加正确的 Uri

Uri uriDSDS = Uri.parse("content://aaa.aaa/values");

于 2013-05-14T05:20:07.663 回答