dvr*_*vrm 37 android android-camera-intent
在Stack Overflow中搜索了所有相关问题但没有找到任何内容后,请尽量帮助我.
我创建了捕获图片的意图.然后我看到了不同的行为onActivityResult()
:如果我没有在Intent中添加任何额外的内容(对于小图片)onActivityResult中的Intent是可以的,但是当我在将pic写入文件的意图中添加额外内容时,onActivityResult中的意图是null
!
意图创作:
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// without the following line the intent is ok
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f));
startActivityForResult(takePictureIntent, actionCode);
Run Code Online (Sandbox Code Playgroud)
为什么它为空,我该如何解决?
ric*_*dtz 59
它发生在我身上,如果你提供MediaStore.EXTRA_OUTPUT
,那么意图是null,但你将在你提供的文件中有照片(Uri.fromFile(f)
).
如果您未指定,MediaStore.EXTRA_OUTPUT
那么您将拥有一个意图,其中包含相机保存照片的文件中的uri.
不知道它是否是一个bug,但它的工作原理是这样的.
编辑:所以在onActivityResult()中,如果为null,则不再需要检查数据.以下与我合作:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case PICK_IMAGE_REQUEST://actionCode
if (resultCode == RESULT_OK && data != null && data.getData() != null) {
//For Image Gallery
}
return;
case CAPTURE_IMAGE_REQUEST://actionCode
if (resultCode == RESULT_OK) {
//For CAMERA
//You can use image PATH that you already created its file by the intent that launched the CAMERA (MediaStore.EXTRA_OUTPUT)
return;
}
}
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你
归档时间: |
|
查看次数: |
26836 次 |
最近记录: |