-1
我使用分段上传在图像上传的查询提交表单,在我的情况下图像上传是可选的,所以当我不使用图像时抛出空指针,所以我需要它应该是可选的java.lang.NullPointerException:uri在com.android.internal.util.Preconditions.checkNotNull
public String getPath(Uri uri) {
Cursor cursor = AskQueryActivity.this.getContentResolver().query(uri, null, null, null, null); // this line throws error
assert cursor != null;
cursor.moveToFirst();
String document_id = cursor.getString(0);
document_id = document_id.substring(document_id.lastIndexOf(":") + 1);
cursor.close();
cursor = AskQueryActivity.this.getContentResolver().query(
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
null, MediaStore.Images.Media._ID + " = ? ", new String[]{document_id}, null);
assert cursor != null;
cursor.moveToFirst();
String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
cursor.close();
return path;
}
错误的logcat
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.admin.lorem.ipsum, PID: 3818
java.lang.NullPointerException: uri
at com.android.internal.util.Preconditions.checkNotNull(Preconditions.java:60)
at android.content.ContentResolver.query(ContentResolver.java:474)
at android.content.ContentResolver.query(ContentResolver.java:434)
这很明显,你的URI是空的,调试你的应用程序,看看为什么。 –
@ S.Aslpour是它的空,因为我说它在null,当我不使用图像上传 – Omi
所以添加一个if和检查它为空时,将您的光标设置为null: –