我正在创建一个应用程序来读取手机的手机通讯录.但是,由于我不知道的原因,我使用该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