如何在非 activity class 中使用 getContentResolver()?
How to use getContentResolver() inside non activity class?
我正在尝试创建一个方法来检索给定输入字符串的联系人姓名。为此,我必须使用 getContentResolver
方法。要使用上下文,我将上下文作为参数传递。但仍然出现以下错误。
java.lang.NullPointerException: Attempt to invoke virtual method
'android.content.ContentResolver
android.content.Context.getContentResolver()' on a null object
reference
public class GetContactName {
public static String getContactName(Context context, String phoneNumber) {
Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
String[] projection = new String[]{ContactsContract.PhoneLookup.DISPLAY_NAME};
String contactName = "";
Cursor cursor = context.getContentResolver().query(uri, projection, null, null, null);
if (cursor != null) {
if (cursor.moveToFirst()) {
contactName = cursor.getString(0);
}
cursor.close();
}
return contactName;
}
}
请帮我解决这个问题
调用 getContactName() 时,使用非空属性调用它
getContactName(getActivity(), phoneNumber);
其中 getActivity()
表示您从中调用此方法的 class 的上下文。
您可能传递了一个空引用,而不是传递正确的上下文。
您可以为应用程序创建一个单例 class 它是您可以访问 contentResolver() 的实例
我正在尝试创建一个方法来检索给定输入字符串的联系人姓名。为此,我必须使用 getContentResolver
方法。要使用上下文,我将上下文作为参数传递。但仍然出现以下错误。
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.ContentResolver android.content.Context.getContentResolver()' on a null object reference
public class GetContactName {
public static String getContactName(Context context, String phoneNumber) {
Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
String[] projection = new String[]{ContactsContract.PhoneLookup.DISPLAY_NAME};
String contactName = "";
Cursor cursor = context.getContentResolver().query(uri, projection, null, null, null);
if (cursor != null) {
if (cursor.moveToFirst()) {
contactName = cursor.getString(0);
}
cursor.close();
}
return contactName;
}
}
请帮我解决这个问题
调用 getContactName() 时,使用非空属性调用它
getContactName(getActivity(), phoneNumber);
其中 getActivity()
表示您从中调用此方法的 class 的上下文。
您可能传递了一个空引用,而不是传递正确的上下文。
您可以为应用程序创建一个单例 class 它是您可以访问 contentResolver() 的实例