目前,我的应用程序使用提供的小部件创建了一个基本的画廊应用程序。我需要从手机中选择一张图片。这个功能已经正常工作,但在展示方面非常不足。
我手机上有几个可以做同样事情的应用程序,但它们以某种方式使用手机中已经存在的画廊让用户选择图片。例如,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;
}
}