我有一个自定义相机应用程序,我想将拍摄的照片传递到另一个活动,我可以在其上添加其他图标(表情符号)。
如何将拍摄的照片传递给其他活动?
答案 0 :(得分:0)
您可以通过意图传递照片的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;
}