gpt4 book ai didi

android - 如何在新 Activity 中使用点击的图片?

转载 作者:行者123 更新时间:2023-11-29 22:24:12 24 4
gpt4 key购买 nike

我想使用 android 手机相机点击图片,然后在另一个 Activity 中使用它。我找不到任何确切的方法,所以我尝试获取保存图片的路径,然后在其他 Activity 中使用它。

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 结果为空。请更正上面的代码..

最佳答案

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

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

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

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();
}
}

关于android - 如何在新 Activity 中使用点击的图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6391873/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com