小编Eri*_*ika的帖子

ContentResolver查询方法无法使用,NoSuchMethodError

我正在创建一个应用程序来读取手机的手机通讯录.但是,由于我不知道的原因,我使用该query方法时遇到问题,因为我使用的是api版本.它说Call requires API level 26 (current min is 16): android.content.ContentResolver#query.

这是我在oncreate方法中使用的代码.

public void searchContacts() {
    ContentResolver contentResolver = getContentResolver();
    Cursor cursor = contentResolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null);

    if (cursor.moveToFirst()) {
        do {
            String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
            String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

            Log.i("try", name + " = " + number);
        } while (cursor.moveToNext());
    }



    cursor.close();
}
Run Code Online (Sandbox Code Playgroud)

我知道它应该可行,因为我一直在观看的教程API版本低于我的.

这是我的gradle文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "raymundo.elsa.elsa"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" …
Run Code Online (Sandbox Code Playgroud)

android gradle android-contentresolver build.gradle android-studio-3.0

1
推荐指数
1
解决办法
1503
查看次数