STEP #1

(1/2)

此处切换ai服务商,可对比多家ai的回复,取最优解。

上一步下一步关闭
酷代码 AI
菜单
全部AI  /  热门  /  AI问答
服务商

在android开发中,如何读取联系人信息

在Android开发中,可以使用ContactsContract类来读取联系人信息。以下是一个简单的示例: ```java import android.Manifest; import android.content.ContentResolver; import android.content.Context; import android.database.Cursor; import android.os.Build; import android.provider.ContactsContract; import java.util.ArrayList; import java.util.List; public class ContactUtils { private static final int REQUEST_CONTACTS = 1; public static List<String> getAllContacts(Context context) { List<String> contacts = new ArrayList<>(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { requestPermissions(context, new String[]{Manifest.permission.READ_CONTACTS}, REQUEST_CONTACTS); } ContentResolver resolver = context.getContentResolver(); Cursor cursor = resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); if (cursor != null) { while (cursor.moveToNext()) { String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); contacts.add(number + "\t" + name); } cursor.close(); } return contacts; } public static void requestPermissions(Context context, String[] permissions, int requestCode) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (context.checkSelfPermission(permissions[0]) != PackageManager.PERMISSION_GRANTED) { context.requestPermissions(permissions, requestCode); } } } } ``` 在这个示例中,我们首先检查设备是否运行Android 6.0或更高版本,如果是,我们请求读取联系人的权限。然后,我们使用ContentResolver查询ContactsContract.CommonDataKinds.Phone.CONTENT_URI,这个URI表示联系人的电话号码。查询结果是一个Cursor对象,我们可以遍历这个Cursor来获取联系人的信息。我们将联系人的信息添加到一个列表中并返回。 注意,这个示例只获取了联系人的电话号码和名字,如果需要获取更多的信息,可以修改查询的URI和字段。 [2023-11-07 22:41:39 | AI问答 | 437点数解答]

相关提问