如何获取 android phone 上图库中的图片?
How to get images in gallery on android phone?
我想获取 phone 图库中的图像并在 gridview 上显示。
我使用光标:
final String[] columns = {MediaStore.Images.Media.DATA,
MediaStore.Images.Media._ID};
final String orderBy = MediaStore.Images.Media.DATE_TAKEN + " DESC";
Cursor imagecursor = getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null,
null, orderBy);
我的 phone 没有 SD 卡,出现 Unfortunately app has stopped
错误。
当我用 INTERNAL_CONTENT_URI
替换 EXTERNAL_CONTENT_URI
时,什么也没发生,没有错误,没有显示图像。
你可以通过发起这个intent获取图片:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);//
startActivityForResult(Intent.createChooser(intent, "Select File"), SELECT_FILE);
然后在onActivityResult()
处理
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == SELECT_FILE)
onSelectFromGalleryResult(data);
}
}
private void onSelectFromGalleryResult(Intent data) {
if (data != null) {
try {
bm = MediaStore.Images.Media.getBitmap(getApplicationContext().getContentResolver(), data.getData());
} catch (IOException e) {
e.printStackTrace();
}
}
如果对你有帮助请告诉我
我想获取 phone 图库中的图像并在 gridview 上显示。 我使用光标:
final String[] columns = {MediaStore.Images.Media.DATA,
MediaStore.Images.Media._ID};
final String orderBy = MediaStore.Images.Media.DATE_TAKEN + " DESC";
Cursor imagecursor = getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null,
null, orderBy);
我的 phone 没有 SD 卡,出现 Unfortunately app has stopped
错误。
当我用 INTERNAL_CONTENT_URI
替换 EXTERNAL_CONTENT_URI
时,什么也没发生,没有错误,没有显示图像。
你可以通过发起这个intent获取图片:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);//
startActivityForResult(Intent.createChooser(intent, "Select File"), SELECT_FILE);
然后在onActivityResult()
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == SELECT_FILE)
onSelectFromGalleryResult(data);
}
}
private void onSelectFromGalleryResult(Intent data) {
if (data != null) {
try {
bm = MediaStore.Images.Media.getBitmap(getApplicationContext().getContentResolver(), data.getData());
} catch (IOException e) {
e.printStackTrace();
}
}
如果对你有帮助请告诉我