到目前为止,我让我的应用程序使用相机拍摄照片AndroidCamera.java
,然后保存图像并将其显示在新的活动Punch.java
中,该活动正常。在此屏幕上有两个选项也可以使用图像或重新拍摄图像如果单击按钮重拍,它将返回到AndroidCamera.java
活动,如果点击使用,它将转到活动{{1}这是我想要再次显示图像的新活动。
我只是想弄清楚要放在BeatEmUp.java
活动中的内容,以便在这个新的活动中再次显示图像,您可以在下面的代码中看到我将字符串从BeatEmUp.java
传递给{{ 1}}但我认为我不能再从AndroidCamera.java
到Punch.java
再次这样做了吗?
更新Adil Soomro
Punch.java
当点击BeatEmUp.java
按钮时,活动现在强制关闭。
下面的确定代码已更新我必须将BeatEmUp.java
更改为Use
,因为一开始它意图给我一个错误我还添加了intent.putExtra("filepath",imagePath);
因为我不是确定如果这是正确的我认为它将与我在Use.putExtra("filepath",imagePath);
上显示图像的代码相同
AndroidCamera.java
BeatEmUp.java
Punch.java
Punch.java
BeatEmUp.java
PictureCallback myPictureCallback_JPG = new PictureCallback(){
public void onPictureTaken(byte[] arg0, Camera arg1) {
// TODO Auto-generated method stub
/*Bitmap bitmapPicture
= BitmapFactory.decodeByteArray(arg0, 0, arg0.length); */
int imageNum = 0;
Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File imagesFolder = new File(Environment.getExternalStorageDirectory(), "Punch");
imagesFolder.mkdirs(); // <----
String fileName = "image_" + String.valueOf(imageNum) + ".jpg";
File output = new File(imagesFolder, fileName);
while (output.exists()){
imageNum++;
fileName = "image_" + String.valueOf(imageNum) + ".jpg";
output = new File(imagesFolder, fileName);
}
Uri uriSavedImage = Uri.fromFile(output);
imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
OutputStream imageFileOS;
try {
imageFileOS = getContentResolver().openOutputStream(uriSavedImage);
imageFileOS.write(arg0);
imageFileOS.flush();
imageFileOS.close();
Toast.makeText(AndroidCamera.this,
"Image saved",
Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Intent intent = new Intent(getBaseContext(), Punch.class);
intent.putExtra("filepath",Uri.parse(output.getAbsolutePath()).toString());
//just using a request code of zero
int request=0;
startActivityForResult(intent,request);
}};
答案 0 :(得分:1)
是。您可以将该图片URI
再次传递给下一个Activity
。
您只需要在Punch.java
类中的类级变量中存储图像路径,并在启动BeatEmUp Activity
时,将该图像路径再次放入Intent
并将其放入{{1} }}
修改强>
在BeatEmUp
String
Punch.java
和String imagePath;
onCreate()
并开始imagePath = this.getIntent().getStringExtra("filepath");
活动
BeatEmUp