首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在android中从图库上传图片

如何在android中从图库上传图片
EN

Stack Overflow用户
提问于 2012-02-02 14:10:14
回答 3查看 76.3K关注 0票数 20

我想上传图片从我的手机画廊到我的应用程序.In我的应用程序有一个名为上传的按钮。当我点击按钮,它应该移动到画廊和画廊,如果我选择图像,所选图像应显示为缩略图在应用程序中。我想上传10个图像,从我的应用程序中的画廊。

EN

回答 3

Stack Overflow用户

发布于 2012-02-02 14:20:22

单击图库按钮,启动startActivityForResult,如下所示:

代码语言:javascript
复制
startActivityForResult(new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI), GET_FROM_GALLERY);

因此,在onActivityResult中检测GET_FROM_GALLERY (它是一个静态的int,任何您选择的请求号,例如public static final int GET_FROM_GALLERY = 3;)。

代码语言:javascript
复制
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);


    //Detects request codes
    if(requestCode==GET_FROM_GALLERY && resultCode == Activity.RESULT_OK) {
        Uri selectedImage = data.getData();
        Bitmap bitmap = null;
        try {
                bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage);
        } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
        } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
        }
    }
}
票数 27
EN

Stack Overflow用户

发布于 2012-02-02 14:16:34

要查看图库:

代码语言:javascript
复制
Intent intent = new Intent();
  intent.setType("image/*");
  intent.setAction(Intent.ACTION_GET_CONTENT);
  startActivityForResult(Intent.createChooser(intent, "Select Picture"),REQUEST_CODE);

要在你的应用中使用它:

代码语言:javascript
复制
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  try {
   switch (requestCode) {

   case REQUEST_CODE:
    if (resultCode == Activity.RESULT_OK) {
     //data gives you the image uri. Try to convert that to bitmap
     break;
    } else if (resultCode == Activity.RESULT_CANCELED) {
     Log.e(TAG, "Selecting picture cancelled");
    }
    break;
   }
  } catch (Exception e) {
   Log.e(TAG, "Exception in onActivityResult : " + e.getMessage());
  }
 }
票数 7
EN

Stack Overflow用户

发布于 2016-07-20 23:35:37

这就是我们要做的:

代码语言:javascript
复制
startActivityForResult(
  new Intent(
    Intent.ACTION_PICK,
    android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI
  ),
  GET_FROM_GALLERY
);
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9107900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档