截至目前,在我的应用程序中,我使用提供的小部件创建了一个基本的图库应用程序,我需要这个从手机中选择一张图片.这很好,一切都很好,但缺乏很多介绍.
我的手机上有几个应用程序做了同样的事情,但他们以某种方式使用手机中已有的图库让用户选择图像.例如,FourSquare,当您选择要用作图片的图像时,它会加载图库并要求您选择图像.
这怎么可能?我已经在网上搜索了最后一对,并空手而归.
解决方法:
要从标准库中获取图像,您可以执行以下操作:
private static final int MEDIA_IMAGE_REQUEST_CODE = 203948; // This can be any unique number you like
Intent getImageFromGalleryIntent =
new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(getImageFromGalleryIntent, MEDIA_IMAGE_REQUEST_CODE);
然后在用户选择图像后接收图像:
protected final void onActivityResult(final int requestCode, final int resultCode, final Intent i) {
super.onActivityResult(requestCode, resultCode, i);
if(resultCode == RESULT_OK) {
switch(requestCode) {
case MEDIA_IMAGE_REQUEST_CODE:
// Get the chosen images Uri
Uri imageUri = i.getData();
// Load the bitmap data from the Uri
// It is probably best to do this in an AsyncTask to avoid clogging up the Main Thread
break;
}
}