Android 应用程序在ActivityResult上停止
我是android开发新手。这是一个测试应用程序,我试图通过它调用活动的图像。除了在onACtivityResult()中返回相机图像外,一切似乎都很好;应用程序崩溃了。我加入了日志,以便指出错误实际发生的位置 以下是Mainfest文件:Android 应用程序在ActivityResult上停止,android,android-intent,onactivityresult,android-image-capture,Android,Android Intent,Onactivityresult,Android Image Capture,我是android开发新手。这是一个测试应用程序,我试图通过它调用活动的图像。除了在onACtivityResult()中返回相机图像外,一切似乎都很好;应用程序崩溃了。我加入了日志,以便指出错误实际发生的位置 以下是Mainfest文件: <?xml version="1.0" encoding="utf-8"?> 这是OnActivityResult: @Override protected void onActivityResult(int requestCode, int
<?xml version="1.0" encoding="utf-8"?>
这是OnActivityResult:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE) {
if (resultCode == RESULT_OK) {
Log.i(TAG, "onActivityResult: success");
}
} else {
if (resultCode == RESULT_CANCELED) {
Log.e(TAG, "onActivityResult: error and RESULT_CANCEllED TRUE");
}
}
}
这是我从camera应用程序中拍摄并返回意图后的日志:
03-07 12:44:49.963 27953-27953/myapp.test.nilabhra.com.freshstart E/AndroidRuntime: FATAL EXCEPTION: main
Process: myapp.test.nilabhra.com.freshstart, PID: 27953
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { act=inline-data (has extras) }} to activity {myapp.test.nilabhra.com.freshstart/myapp.test.nilabhra.com.freshstart.DisplayMessageActivity}: java.lang.NullPointerException: uri
at android.app.ActivityThread.deliverResults(ActivityThread.java:3717)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3760)
at android.app.ActivityThread.access$1400(ActivityThread.java:153)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1396)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5451)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.NullPointerException: uri
at com.android.internal.util.Preconditions.checkNotNull(Preconditions.java:60)
at android.content.ContentResolver.query(ContentResolver.java:476)
at android.content.ContentResolver.query(ContentResolver.java:435)
at myapp.test.nilabhra.com.freshstart.DisplayMessageActivity.onActivityResult(DisplayMessageActivity.java:164)
at android.app.Activity.dispatchActivityResult(Activity.java:6528)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3713)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3760)
at android.app.ActivityThread.access$1400(ActivityThread.java:153)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1396)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5451)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
将此置于startActivityForResult之前
Uri imageUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
堆栈跟踪的可能副本表示您正在
onActivityResult()
中执行ContentResolver
查询,但您的代码没有显示此类内容。您可能需要在启动活动之前将目标URI设置为额外的:captureIntent.putExtra(MediaStore.extra\u输出,photoURI);使用哪一版本的安卓操作系统?@MikeM。我用于联系目的的ContentResolver,是的,它位于onActivity结果中。我不能将多个结果放在同一个onActivityresults上吗?我确信联系人结果没有问题,因为当我省略摄影机结果的代码时,onActivityresults工作正常。很抱歉,我的错,contentResolver()中出现了问题
03-07 12:44:49.963 27953-27953/myapp.test.nilabhra.com.freshstart E/AndroidRuntime: FATAL EXCEPTION: main
Process: myapp.test.nilabhra.com.freshstart, PID: 27953
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { act=inline-data (has extras) }} to activity {myapp.test.nilabhra.com.freshstart/myapp.test.nilabhra.com.freshstart.DisplayMessageActivity}: java.lang.NullPointerException: uri
at android.app.ActivityThread.deliverResults(ActivityThread.java:3717)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3760)
at android.app.ActivityThread.access$1400(ActivityThread.java:153)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1396)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5451)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.NullPointerException: uri
at com.android.internal.util.Preconditions.checkNotNull(Preconditions.java:60)
at android.content.ContentResolver.query(ContentResolver.java:476)
at android.content.ContentResolver.query(ContentResolver.java:435)
at myapp.test.nilabhra.com.freshstart.DisplayMessageActivity.onActivityResult(DisplayMessageActivity.java:164)
at android.app.Activity.dispatchActivityResult(Activity.java:6528)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3713)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3760)
at android.app.ActivityThread.access$1400(ActivityThread.java:153)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1396)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5451)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Uri imageUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);