我如何将拍摄的照片传递给其他活动?

我如何将拍摄的照片传递给其他活动?

问题描述:

我有一个自定义相机应用程序,我想将捕获的照片传递到另一个活动,我可以在其上添加其他图标(表情图标)。我如何将拍摄的照片传递给其他活动?

如何将拍摄的照片传递给其他活动?

+0

可能重复[我如何传递一个位图对象从一个活动到另一个活动(http://*.com/问题/ 2459524 /如何传递一个位图 - 从一个活动到另一个对象) – stan0

您可以通过意图传递照片的URI。假设你打电话给你的相机startActivityForResult()。在相机的活动:

Intent data = new Intent(); 
data.putExtra(MediaStore.EXTRA_OUTPUT, imageFilename); 
setResult(Activity.RESULT_OK, data); 
finish(); 
在您的表情活动

然后:

@Override 
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if (data != null && data.hasExtra(MediaStore.EXTRA_OUTPUT)) { 
     File imageFile = new File(data.getStringExtra(MediaStore.EXTRA_OUTPUT)); 

     // Bitmap here, do whatever you need 
     Bitmap bitmap = readBitmapFromFile(imageFile.getName()); 
    } 
} 

public static Bitmap readBitmapFromFile(@NotNull String filename) { 
    File file = new File(filename); 

    BitmapFactory.Options bmOptions = new BitmapFactory.Options(); 
    bmOptions.inJustDecodeBounds = false; 
    bmOptions.inPreferredConfig = Bitmap.Config.RGB_565; 
    bmOptions.inSampleSize = 1; 
    bmOptions.inPurgeable = true; 

    Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath(), bmOptions); 

    return bitmap; 
} 
+0

请告诉我它是什么“FileUtils”。我应该把它作为一个int或一个字符串或布尔值? –

+0

@BririmBlerii查看编辑答案 – jlhonora

+0

@感谢,但意图我该怎么处理它?在mainactivity我有一个图像视图作为一个按钮(捕获)onClick它调用一个方法称为TakePicture();从CameraPreview(CameraPreview.TakePicture();),我已经把意图放在这下面,是对的还是不对? –