2011-03-01 67 views
2

我对编程非常陌生,并试图使用板载摄像头硬件制作应用程序,我的目的是拍摄一张照片;那么当你点击保存时,该图片就会出现在一个新的活动中被编辑...我已经找了几天关于如何最好地使用相机硬件...我被告知startActivity(new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE));接下来会初始化相机最简单...我已经拿到相机来启动甚至保存图片,但我的问题在于;一旦我按下保存在相机上,相机活动重新加载,而不是将保存的图片踢到可以编辑的新活动中......我知道我可能听起来像一个完整的noob,而我是,但如果任何人都明白这一点,并可以帮助我会很感激。拍照,然后编辑保存的图片问题!

回答

4

亚当,

在我的应用我用下面的代码来启动相机:

public void imageFromCamera() { 
    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); 
    mImageFile = new File(Environment.getExternalStorageDirectory()+File.separator+"MyApp", 
      "PIC"+System.currentTimeMillis()+".jpg"); 
    mSelectedImagePath = mImageFile.getAbsolutePath(); 
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mImageFile)); 
    startActivityForResult(intent, TAKE_PICTURE); 
} 

这将图像保存到路径mSelectedImagePath这是/sdcard/MyApp/<systemtime>.jpg

然后您捕获IMAGE_CAPTURE意图的回报onActivityResult并启动您的活动以编辑图像!

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (resultCode == RESULT_OK) { 
     switch(requestCode) { 
     case TAKE_PICTURE: 
        //Launch ImageEdit Activity 
      Intent i = new Intent(this, ImageEdit.class); 
        i.putString("imgPath", "mSelectedImagePath"); 
        startActivity(i); 
      break; 
     } 
    } 
} 

希望这有助于!

+0

@willytate我真的很感激帮助,我想我只是不明白它..当我输入这个编码时,我得到各种进口没有解决的错误,当我认为我已经修复它;我通过手机上的USB调试来运行它,并且一旦我点击按钮开始活动,我不断收到意外的错误程序停止,请重试。 – Adam 2011-03-01 20:13:44

+0

你能编辑你原来的问题来添加你的代码吗?我可能能够以这种方式更好地协助。 – 2011-03-01 20:19:49

+0

@willytate我宁愿不要,只是为了害怕看起来像一个白痴..继承人我试图用莱姆斯术语。按下mymenu.xml文件上的按钮,然后将您发送到相机拍摄照片的位置,可以选择使用照片或重新拍摄照片....然后,一旦选择了该照片,我需要将照片拉上可以编辑的下一个屏幕....就像我说的,我对这个真的很陌生,所以也许我只是不知道应该去哪里..如果你能解释你认为我的问题是我更愿意如果需要的话,我的图形才能交给你...再次感谢 – Adam 2011-03-01 21:31:07