Rah*_*aki 19 camera android nexus-s
我从我的活动中调用默认摄像头,然后处理onActivityResult.我的代码似乎在LG Ally上工作正常,在拍摄照片时没有确认.但是,当我在Nexus S上运行相同的应用程序时,它会在返回我的活动之前提示我"Ok","Retake"或"Cancel".虽然"取消"有效,但在没有保存图片的情况下返回我的活动,"确定"似乎没有任何效果,甚至没有返回我的活动.
我的代码如下:
private void captureImage() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
File path = new File(Environment.getExternalStorageDirectory().getPath() + "/Images/" + (new UserContextAdapter(this)).getUser() + "/");
path.mkdirs();
File file = new File(path, "Image_Story_" + mRowId.toString() + ".jpg");
newImageUri = Uri.fromFile(file);
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, newImageUri);
startActivityForResult(intent, CAPTURE_IMAGE);
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
switch (requestCode) {
case CAPTURE_IMAGE:
switch (resultCode ) {
case 0:
Log.i("CAPTURE", "Cancelled by User");
break;
case -1:
mImageUri = newImageUri;
setImageFromUri();
}
}
Run Code Online (Sandbox Code Playgroud)
qed*_*avu 15
我想我刚才遇到了同样的问题.
如果保存图片的路径不正确,相机将不会返回您的应用程序.一旦我确定目录存在,一切正常.确保目录存在,然后它应该工作.
- 编辑 -
我刚刚看到你打电话path.mkdirs();
但我认为它不起作用.正如你可以在android文档中看到的那样"请注意,此方法在失败时不会抛出IOException.调用者必须检查返回值." 请务必检查目录是否确实存在.
心连心
归档时间: |
|
查看次数: |
7369 次 |
最近记录: |