当我试图拍照并将其存储在外部存储设备中时,我被卡在应用上。相机意图工作,但我无法确认捕获的图像。然后我将onActivityResult更改为以下内容以监视resultCode。触摸确认按钮从不记录任何内容。触摸取消按钮虽然记录了预期的日志。
private static final int TAKE_PHOTO_CODE = 2;
private File destination;
takePhoto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
destination = new File(Environment
.getExternalStorageDirectory(), "name");
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(destination));
intent.putExtra("return-data", true);
startActivityForResult(intent, TAKE_PHOTO_CODE);
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.d("Test", "App is inside onActivityResult");
Log.d("Test", String.valueOf(resultCode));
}
编辑:我相信我已经正确地提供了所有必需的权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera"
android:required="true" />
答案 0 :(得分:2)
片段或活动中定义的“ onActivityResult(int requestCode,int resultCode,Intent data)”?
...如果它在Fragment中,请将日志添加到Activity中的相应方法,有时会带来这样的惊喜。
另一种可能是相机无法在提供的路径上写字。“目的地=新文件(环境) .getExternalStorageDirectory(),“name”); “......确保创建并正确访问。