@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
filePath = getOutputMediaFile(FileColumns.MEDIA_TYPE_IMAGE);
File file = new File(filePath);
Uri output = Uri.fromFile(file);
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
i.putExtra(MediaStore.EXTRA_OUTPUT, output);
startActivityForResult(i, RETURN_FILE_PATH);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//data is always null here.
//requestCode = RETURN_FILE_PATH;
//resultCode = Activity.RESULT_OK;
}
我检查值文件和输出乌里,两者都是细并且将所捕获的图像实际上在那个位置存在。onActivityResult返回null数据的图像捕获
但是在onActivityResult
中返回的数据始终是null
,即使在捕获图像之后。
编辑:
我查了一下这个问题:
onActivityResult returns with data = null
它说:
当你通过传递EXTRAOUTPUT用相机意图 数据参数保存图像onActivityResult里面总是返回null。所以, 而不是使用数据检索图像,使用文件路径 检索位图。
也许该解决方案将为我工作。但是,对于相同的场景,上面的代码是一个工作代码。
是的,刚刚看到帖子。但相同的代码在过去6个月工作,为什么突然现在它的行为是这样的:( –
不幸的是,我不是这个主题的专家把我猜测它的硬件设备相关的特定功能。在三星设备上有不同的行为:http://stackoverflow.com/q/8248327/1965084 – alex