尝试从SD卡中仅挑选一个特定图像。我能够从kikat中的图库和照片应用中挑选图像。但未获取文件路径,当我从最近选择图像获取文件路径为空。我试过https://stackoverflow.com/a/2636538/1140321。[Android - Kitkat]通过编程从Android内置图库应用中获取图像
9
A
回答
33
这适用于奇巧
public class BrowsePictureActivity extends Activity{
private static final int SELECT_PICTURE = 1;
private String selectedImagePath;
private ImageView imageView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.browsepicture);
imageView = (ImageView)findViewById(R.id.imageView1);
((Button) findViewById(R.id.button1))
.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,
"Select Picture"), SELECT_PICTURE);
}
});
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
Uri selectedImageUri = data.getData();
if (Build.VERSION.SDK_INT < 19) {
selectedImagePath = getPath(selectedImageUri);
Bitmap bitmap = BitmapFactory.decodeFile(selectedImagePath);
imageView.setImageBitmap(bitmap);
}
else {
ParcelFileDescriptor parcelFileDescriptor;
try {
parcelFileDescriptor = getContentResolver().openFileDescriptor(selectedImageUri, "r");
FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor();
Bitmap image = BitmapFactory.decodeFileDescriptor(fileDescriptor);
parcelFileDescriptor.close();
imageView.setImageBitmap(image);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
/**
* helper to retrieve the path of an image URI
*/
public String getPath(Uri uri) {
if(uri == null) {
return null;
}
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
if(cursor != null){
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
return uri.getPath();
}
}
您需要添加权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+0
代码不一样...检查是否检查kitkat的if else条件:P –
+0
您是否尝试过代码?它为你工作? –
+0
@SunilMishra如何从kit-kat中获得图像路径? –
相关问题
- 1. Android + json通过编号获取图像
- 2. Android kitkat从图库中选择图片
- 3. Android只从图库中获取图像
- 4. 通过Android获取图像并从捕获图像中获取文本
- 5. 无法从android s3中通过TransferUtility获取图像android
- 6. 从数据库中获取图像android
- 7. 从图像id中获取图像android
- 8. 从android gallery kitkat获取unity3d的图像路径?
- 9. 如何通过编码从应用程序设置android锁定屏幕图像
- 10. 通过android内置摄像头捕获图像但不保存
- 11. Android:获取图像位置
- 12. 从Android的httpResponse获取图像内容
- 13. Android:无需用户交互从图库中获取图像
- 14. Android从路径中获取图像(图库,图片等)
- 15. 以编程方式从android图库获取完整图片
- 16. Regd:在Android应用程序中从Json网址获取图像
- 17. 如何从Android设备中获取图像java应用程序
- 18. 如何在android应用程序中从xmpp获取图像
- 19. Android:通过内容从第三方应用程序(例如WhatsApp)获取图像位图:// URI
- 20. Android图库获取图像名称
- 21. Android - 获取图库图像Samsung S4/S5
- 22. Android - 图像不会从内置图库中显示
- 23. 从Android获取第一幅图像Android
- 24. Android - 避免从图库中提取图像的内存泄漏
- 25. 以编程方式从iCloud帐户获取图像到Android应用程序
- 26. 如何获取Android图库中图像的图像ID?
- 27. swift iOS:通过创建日期从图库中获取图像
- 28. 从Android中获取URL中的图像
- 29. Android通用图像加载程序获取图片
- 30. 如何从图库中获取图片并在android应用程序中移动。
你真的需要的ImagePath?你正在上传图片吗?或者只是想在imageview中显示它? –
我只是想在图像视图中显示.. – Meher
你可以发布你的代码,因为它会更容易我回答 –