【问题标题】:How to use a clicked picture in a new activity?如何在新活动中使用点击的图片?
【发布时间】:2011-06-17 21:08:27
【问题描述】:

我想用安卓手机摄像头点击一张图片,然后在另一个活动中使用它。我找不到任何确切的方法,所以我尝试获取保存图片的路径,然后在其他活动中使用它。

private OnClickListener cameraBclicked = new OnClickListener() {
    public void onClick(View v) {

        Intent m_Intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
        startActivityForResult(m_Intent, TAKE_PICTURE);
    }
};

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data){

    if ( requestCode == TAKE_PICTURE)
    {
        Uri selectedImage = data.getData();
        Intent intent1 = new Intent(picsource.this,NewScreen.class);
        intent1.putExtra("path", selectedImage);
        startActivity(intent1);
    }

现在,问题是 uri 为空。 请更正上面的代码..

【问题讨论】:

    标签: android android-camera


    【解决方案1】:

    要启动相机活动,您可以使用以下代码

    Intent cameraIntent=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
    startActivityForResult(cameraIntent, CAMERA_REQUEST); 
    

    捕获图像后,您将在 onActivityResult 方法中获取位图格式的捕获图像。现在,当您获得位图时,将位图写入外部存储,并将图像的路径传递给您要传递的另一个活动。从第二个活动中,您可以打开文件并获取图像。

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
       if (requestCode == 1) {  
            Bitmap bmp = intent.getExtras().get("data");
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
    
             bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
             byte[] byteArray = stream.toByteArray(); // convert camera photo to byte array
    
             // save it in your external storage.
            FileOutputStream fo = new FileOutputStream(new File(Environment.getExternalStorageDirectory() + "/_camera.png"));
    
            fo.write(byteArray);
            fo.flush();
            fo.close();
       }  
    } 
    

    【讨论】:

      【解决方案2】:

      我已经有这个问题了, 这是我的代码错误

      Bitmap photo = (Bitmap) data.getData();// This code return null
      

      我的问题通过修改代码解决了

      Bitmap photo = (Bitmap) data.getExtras().get("data"); 
      

      【讨论】:

        猜你喜欢
        • 2016-05-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-23
        • 1970-01-01
        • 2015-10-31
        相关资源
        最近更新 更多