代码:
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
try{
imageUri = Uri.fromFile(File.createTempFile("image", ".jpg"));
}catch (Exception ex){
ex.printStackTrace();
}
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, REQUEST_CAMERA);
我在Android Manifest文件中使用了与此相关的所有权限... 以上意图在Moto G3 Turbo和许多其他设备上都可以正常工作,但是只有在Nexus 5的情况下,resultCode才为0..为什么?
File.createTempFile()
不要求返回一个全局可写的文件路径。我预计这段代码在许多设备上都会失败。 - CommonsWarefile:
Uri
值,这种技术将会开始失效。这个示例应用程序与第一个示例相同,但是使用了FileProvider
,允许第三方相机应用程序直接将图像保存到我的应用程序的内部存储中。请参考此处获取更多信息。 - CommonsWaretargetSdkVersion
不能高于23。 - CommonsWare