Espresso 图像选择器 - CursorIndexOutOfBoundsException 错误
Espresso image picker - CursorIndexOutOfBoundsException error
我正在使用 Espresso 开发一个测试来测试个人资料图像更改功能。我在测试中的@Before 方法中添加了以下行。
我使用我的文件提供程序使用图像 Uri 创建一个意图 return 我的应用程序去图库选择图像。
Intent resultData = new Intent();
String filename = "img1.jpg";
String path = "mnt/sdcard/" + filename;
File f = new File(path);
Context context =InstrumentationRegistry.getInstrumentation().getContext();
Uri contentUri = getUriForFile(context, "com.otsuka.ikigai.fileprovider", f);
resultData.setData(contentUri);
Instrumentation.ActivityResult result = new Instrumentation.ActivityResult(Activity.RESULT_OK,resultData);
intending(not(isInternal())).respondWith(result);
activity改变用户头像的代码,收到intent后调用下面的方法,(我一定不要改)
mProfileImage = CommonBitmapUtils.rotate(this, data.getData());
profileEdited = true;
imgUserPhoto.setImageBitmap(mProfileImage);
我收到以下错误:
android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
由 CommonBitmapUtils 的旋转函数中的这一行引起 class:
path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
光标有0行不知道为什么。
设置如下路径解决。没有文件提供者和权限。
我通过未经测试调试应用程序并复制值来获取路径。
resultData.setData(Uri.parse("content://media/external/images/media/142583"));
我正在使用 Espresso 开发一个测试来测试个人资料图像更改功能。我在测试中的@Before 方法中添加了以下行。
我使用我的文件提供程序使用图像 Uri 创建一个意图 return 我的应用程序去图库选择图像。
Intent resultData = new Intent();
String filename = "img1.jpg";
String path = "mnt/sdcard/" + filename;
File f = new File(path);
Context context =InstrumentationRegistry.getInstrumentation().getContext();
Uri contentUri = getUriForFile(context, "com.otsuka.ikigai.fileprovider", f);
resultData.setData(contentUri);
Instrumentation.ActivityResult result = new Instrumentation.ActivityResult(Activity.RESULT_OK,resultData);
intending(not(isInternal())).respondWith(result);
activity改变用户头像的代码,收到intent后调用下面的方法,(我一定不要改)
mProfileImage = CommonBitmapUtils.rotate(this, data.getData());
profileEdited = true;
imgUserPhoto.setImageBitmap(mProfileImage);
我收到以下错误:
android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
由 CommonBitmapUtils 的旋转函数中的这一行引起 class:
path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
光标有0行不知道为什么。
设置如下路径解决。没有文件提供者和权限。
我通过未经测试调试应用程序并复制值来获取路径。
resultData.setData(Uri.parse("content://media/external/images/media/142583"));