相关疑难解决方法(0)

从ACTION_IMAGE_CAPTURE Intent获取图像路径

嗨我ACTION_IMAGE_CAPTURE用于捕获图像使用Intent如下:

Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(
MediaStore.EXTRA_OUTPUT, (new File(Environment.getExternalStorageDirectory(),
String.valueOf(System.currentTimeMillis()) + ".jpg"))
);
startActivityForResult(cameraIntent, 0);
Run Code Online (Sandbox Code Playgroud)

我需要将图像存储在SD卡中,并使用该onActivityResult方法检索该图像的路径.我不知道如何获取当前捕获图像的图像路径.

如果有人知道请帮助.

谢谢

camera android android-camera android-camera-intent

23
推荐指数
2
解决办法
4万
查看次数

Android错误:java.lang.IllegalStateException:尝试重新查询已经关闭的游标

环境(Linux/Eclipse Dev for Xoom Tablet运行HoneyComb 3.0.1)

在我的应用程序中,我正在使用相机(startIntentForResult())来拍照.拍摄照片后,我得到了onActivityResult()回调,并且能够使用通过"拍照"意图传递的Uri加载位图.此时我的活动已恢复,尝试将图像重新加载到图库时出错:

FATAL EXCEPTION: main
ERROR/AndroidRuntime(4148): java.lang.RuntimeException: Unable to resume activity {...}: 
 java.lang.IllegalStateException: trying to requery an already closed cursor
     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2243)
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1019)
     at android.os.Handler.dispatchMessage(Handler.java:99)
     at android.os.Looper.loop(Looper.java:126)
     at android.app.ActivityThread.main(ActivityThread.java:3997)
     at java.lang.reflect.Method.invokeNative(Native Method)
     at java.lang.reflect.Method.invoke(Method.java:491)
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
     at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.IllegalStateException: trying to requery an already closed cursor
     at android.app.Activity.performRestart(Activity.java:4337)
     at android.app.Activity.performResume(Activity.java:4360)
     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2205)
     ... 10 more
Run Code Online (Sandbox Code Playgroud)

我正在使用的唯一光标逻辑是在拍摄图像后,我使用以下逻辑将Uri转换为文件

String [] projection = {
    MediaStore.Images.Media._ID, 
    MediaStore.Images.ImageColumns.ORIENTATION,
    MediaStore.Images.Media.DATA 
};

Cursor cursor = activity.managedQuery( …
Run Code Online (Sandbox Code Playgroud)

android cursor illegalstateexception android-loadermanager

18
推荐指数
3
解决办法
2万
查看次数