在我的应用程序中,我打开 Android 默认图库以选择和图像。结果就是路径。
当我在手机中测试应用程序时,路径是,/mnt/sdcard/picturename
但是当我在同事的手机中测试时,路径是/sdcard/picturename
这会导致问题,因为稍后在我的代码中,我使用子字符串方法仅收集图片名称。它会根据路径是否包含 /mnt/ 给出不同的结果!
你碰巧知道我们怎样才能得到从 ? 开始的路径/sdcard/ ...
?
这是我用来打开画廊的代码:
photo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
cheminNouvellePhoto.setText("/sdcard/images/..");
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(
Intent.createChooser(intent, "Select Picture"), 101);
}
});
以及返回路径的代码:
public String getPath(Uri uri) {
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}