我正在编写一个必须拍照并将其发送到 Web 服务的应用程序。有我用来的代码:
i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
outputFileUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory()+"/appicture.jpg"));
Log.i("URI", outputFileUri.toString());
i.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(i, cameraData);
URI 看起来像:
文件:///sdcard/appicture.jpg
但是,如果我将“outputFileUri”变量放在 i.putExtra 中,我的应用程序就会退出。如果没有,我可以拍照,但无法获取她的 URI,然后无法将其发送到我的网络服务。
编辑 1:错误日志(关于活动 resylt)
06-26 09:17:46.108: I/Cam 错误 (699): java.lang.NullPointerException
编辑 2:如果我删除“outputFileUri”,我正确地得到了图像。但是,然后我无法将位图转换为文件以便能够发送它。
if(resultCode == RESULT_OK){
Bundle extras = data.getExtras();
_bmp = (Bitmap) extras.get("data");
}
编辑 3:
问题来自
_bmp = (Bitmap) extras.get("data");
并且图片已正确保存在 SD 卡中。