【问题标题】:Get image id from Bitmap从位图中获取图像 id
【发布时间】:2013-05-21 16:43:01
【问题描述】:

有没有办法从下面的ActivityResult方法中获取图片id?

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data){
        if(requestCode == IMAGE_CAPTURE){
            if(resultCode == RESULT_OK){
                try{
                    Bitmap b1 = MediaStore.Images.Media.getBitmap(getContentResolver(),imageUri);

                    System.out.println("GGEGEGGEGEGEGGEGEGEGEG" + imageUri.getPath());
//                   Intent i2 = new Intent(Intent.ACTION_VIEW, imageUri);
//                   startActivity(i2);
                }
                catch(FileNotFoundException e ){
                    System.out.println("OnActivityResult hat einen Fehler geworfen");
                } catch (IOException e) {
                    System.out.println("ONACTIVITYRESULT hat einen Fehler geworfen");
                }
            }
        }
    }

我需要它来获取某个图像的缩略图。

编辑:我像这样捕捉图像:

private void takePic() {
        ContentValues values = new ContentValues();
        String TITLE = null;
        values.put(MediaColumns.TITLE, TITLE);
        String DESCRIPTION  = null;
        long id = (Long) null;
        values.put(ImageColumns.DESCRIPTION, DESCRIPTION);
        values.put(MediaColumns.MIME_TYPE, "image/jpeg");
        values.put(MediaColumns._ID, id);
        imageUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
        intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);


        System.out.println("VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVvv" + imageUri.getPath());
        startActivityForResult(intent, IMAGE_CAPTURE);


    }

【问题讨论】:

  • 图片ID是什么意思?
  • 我需要获取我拍摄的原始图像的 id(上面添加的代码),我可以得到这个的缩略图。
  • 你看过这个问答吗:stackoverflow.com/questions/12952859/…

标签: android image thumbnails


【解决方案1】:

一旦你创建了imageUri,你可以像这样从中获取ID:

    String[] columns = {MediaColumns._ID}; 
    Cursor cursor =  getContentResolver().query(imageUri, columns, null, null, null); 
    cursor.moveToFirst(); 
    long id = cursor.getLong(0);

注意:您可能应该从 takePic() 的代码中删除此行,因为行 ID 是由内容提供者为您创建的:

    values.put(MediaColumns._ID, id);

【讨论】:

  • java.lang.NullPointerException: 尝试调用接口方法'boolean android.database.Cursor.moveToFirst()
  • @Ram 您应该针对您的问题提出一个新问题。使用 stacktrace 发布您的代码和 logcat。对我的回答发表评论不适合寻求帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多