我尝试获取所有联系人姓名和号码,我正在尝试使用getContentResolver
但我正在
方法获取内容解析器()未定义类型
此错误。
我该如何解决?
以下是代码:
public class ContactManager {
public ArrayList<Product> getContactNumber() {
Cursor phones = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,
null, null);
while (phones.moveToNext()) {
String name = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phoneNumber = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
phones.close();
}
}
答案 0 :(得分:13)
问题是Context
,传递Activity
的上下文,其中使用了Class
的构造函数:
Context context;
public ContactManager (Context context) {
this.context = context;
}
然后使用
context.getContentResolver()
绝对完善了上下文的使用。
答案 1 :(得分:0)
你也可以简单地使用它:
public class ContactManager {
public ArrayList<Product> getContactNumber(Context mContext) {
Cursor phones = mContext.getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,
null, null);
while (phones.moveToNext()) {
String name = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phoneNumber = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
phones.close();}}