如何共享并保存ImageView从第一活动到第三活动
问题描述:
活动1:我有一个imageview,其中从相机和画廊拍摄的图像被设置,它工作正常。在这个活动中有一个右键点击按钮,将您重定向到第二个活动。如何共享并保存ImageView从第一活动到第三活动
活动2:在这个活动我有四个选项
- 保存
- 分享
- 分享通过Instagram的
- 分享通过Facebook
活动3:从上述四第三项活动的选择相应地运作。 现在我不知道如何将第一个活动中拍摄的图像传递给第三个活动。
我的努力:在从相机拍摄的第一活动图像:
Intent i=new Intent(Camera.this,SaveVia.class);
i.putExtra("image", thumbnail);
startActivity(i);
在第二个活动SaveVia:
Intent intent2 = new Intent(SaveVia.this, Save.class);
Bitmap receiptimage = (Bitmap)getIntent().getExtras().getParcelable("image")
startActivity(intent2);
在第三个活动叫节省:
Bitmap receiptimage = (Bitmap) getIntent().getExtras().getParcelable("imagepass");
// receipt.setImageBitmap(receiptimage);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
receiptimage.compress(Bitmap.CompressFormat.PNG, 90, bytes);
File storagePath = new File(Environment.getExternalStorageDirectory() + "/PhotoAR/");
storagePath.mkdirs();
File destination = new File(storagePath, Long.toString(System.currentTimeMillis()) + ".jpg");
FileOutputStream fo;
try {
destination.createNewFile();
fo = new FileOutputStream(destination);
fo.write(bytes.toByteArray());
fo.close();
Toast.makeText(Save.this,"No Error",Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
e.printStackTrace();
Toast.makeText(Save.this,"Error Arrived",Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(Save.this,"Error Arrived again",Toast.LENGTH_LONG).show();
答
我推荐使用File I/O将位图保存到磁盘。使用putExtra将文件路径放入您的意图包中,然后在其他屏幕中重新创建位图。将大型位图放入带有意图的包中可能会导致TransactionTooLarge异常。
看看Getting path of captured image in android using camera intent
答
@AND 您不需要将位图作为Parcelable从意图f中的一个activity.Pass文件路径传递从一个活动到另一个活动。
当您捕获图像获取路径onActivityresult并保存该路径。 并重定向这两个第二activity.And从该路径显示您的位图。只需分享从路径 Uri分享在Facebook和Instagram上。
尝试使用界面... –
请看看这个。 [链接](https://stackoverflow.com/questions/4352172/how-do-you-pass-images-bitmaps-between-android-activities-using-bundles)。这是你的问题的重复。另外,正如在链接的问题中,使用parcelable实际传递图像并不是一个好主意。将图像路径传递给第二个和第三个活动,然后使用路径拉出图像会更好。这将是一种更简单的方法。 :) – imaadhrizni
[你如何通过使用捆绑的android活动之间传递图像(位图)?](https://stackoverflow.com/questions/4352172/how-do-you-pass-images-bitmaps-between-android - 活动-使用-束) – imaadhrizni