我想让我的应用拍照,然后在保存到手机后显示它。
到目前为止它拍摄了照片,它将它保存在我的目录中(因为我可以看到它,如果我照看),但是当它在预览中显示时它会停止工作。
我也缩小了它的范围。在OnActivityResult
请求代码== 1034 中,此行崩溃了。
Uri uri = data.Data;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.fragment_layout);
//camera button
FindViewById<ImageView>(Resource.Id.camera).Click += (sender, args) =>
{
String[] items = { "Take Photo", "Choose from Library", "Cancel" };
using (var dialogBuilder = new AlertDialog.Builder(this))
{
dialogBuilder.SetTitle("Add Photo");
dialogBuilder.SetItems(items, (d, arg) =>
{
//Take photo
if (arg.Which == 0)
{
captureImage();
}
//Choose from gallery
else if (arg.Which == 1)
{
var intent = new Intent(Intent.ActionPick, MediaStore.Images.Media.ExternalContentUri);
intent.SetType("image/*");
this.StartActivityForResult(Intent.CreateChooser(intent, "Select Picture"), SELECT_FILE);
}
});
dialogBuilder.Show();
};
};
}
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
if (resultCode == Result.Ok)
{
if (requestCode == 1034)
{
// Handle the newly captured image
var imageView = FindViewById<ImageView>(Resource.Id.foodPreview);
Uri uri = data.Data;
imageView.SetImageURI(uri);
}
else if (requestCode == SELECT_FILE)
{
// Handle the image chosen from gallery
var imageView = FindViewById<ImageView>(Resource.Id.foodPreview);
Uri uri = data.Data;
imageView.SetImageURI(uri);
}
}
}
uri正在使用Android.Net,我的android清单中有摄像头和读/写外部存储。
我的错误日志是
07-15 12:41:47.088 D / Mono(16481):正在寻找 &#39; java_interop_jnienv_new_object_array&#39 ;. 07-15 12:41:47.088 D / Mono
(16481):探索&#39; java_interop_jnienv_new_object_array&#39;。 07-15 12:41:47.088 D / Mono(16481):发现为 &#39; java_interop_jnienv_new_object_array&#39 ;. 07-15 12:41:47.088 D / Mono
(16481):DllImport搜索:&#39; __内部&#39; (&#39;(空)&#39)。 07-15 12:41:47.088 D / Mono(16481):正在寻找 &#39; java_interop_jnienv_set_object_array_element&#39 ;. 07-15 12:41:47.088 D / Mono(16481):探索 &#39; java_interop_jnienv_set_object_array_element&#39 ;. 07-15 12:41:47.088 D / Mono(16481):发现为 &#39; java_interop_jnienv_set_object_array_element&#39 ;. 07-15 12:41:47.098 D / Mono(16481):DllImport搜索:&#39; __内部&#39; (&#39;(空)&#39)。 07-15 12:41:47.098 D / Mono(16481):正在寻找 &#39; java_interop_jnienv_get_object_array_element&#39 ;. 07-15 12:41:47.098 D / Mono(16481):探索 &#39; java_interop_jnienv_get_object_array_element&#39 ;. 07-15 12:41:47.098 D / Mono(16481):发现为 &#39; java_interop_jnienv_get_object_array_element&#39 ;. 07-15 12:41:47.118 D / AbsListView(16481):获取MotionRecognitionManager 07-15 12:41:48.859 D / Mono(16481):DllImport搜索:&#39; __内部&#39; (&#39;(空)&#39)。 07-15 12:41:48.859 D / Mono(16481):正在寻找 &#39; java_interop_jnienv_call_boolean_method_a&#39 ;. 07-15 12:41:48.859 D / Mono (16481):探测&#39; java_interop_jnienv_call_boolean_method_a&#39;。 07-15 12:41:48.859 D / Mono(16481):发现为 &#39; java_interop_jnienv_call_boolean_method_a&#39 ;. 07-15 12:41:48.940 D / AbsListView(16481):onDetachedFromWindow 07-15 12:41:49.130 E / ViewRootImpl(16481):sendUserActionEvent()mView == null 07-15 12:41:50.751 W / IInputConnectionWrapper(16481):showStatusIcon on 非活动InputConnection线程已完成:#5 07-15 12:41:53.675 D / Mono(16481):[0x6885e7d0]工人完成 线程&#39;未知&#39; (0x5)已退出代码0(0x0)。 07-15 12:41:57.559 D / AbsListView(16481):onDetachedFromWindow 07-15 12:41:57.559 D / AbsListView(16481):onDetachedFromWindow 07-15 12:41:57.659 D / AbsListView(16481):获取MotionRecognitionManager 07-15 12:41:57.669 D / AbsListView(16481):获取MotionRecognitionManager 未处理的例外:System.NullReferenceException:未将对象引用设置为实例 一个对象。
07-15 12:42:06.528 D / Mono(16481):DllImport试图加载: &#39; /system/lib/liblog.so' ;. 07-15 12:42:06.528 D / Mono(16481): DllImport加载库&#39; /system/lib/liblog.so'。 07-15 12:42:06.528 D / Mono(16481):DllImport搜索:&#39; /system/lib/liblog.so' (&#39; /system/lib/liblog.so')。 07-15 12:42:06.528 D / Mono(16481): 正在搜索&#39; __ android_log_print&#39;。 07-15 12:42:06.528 D / Mono
(16481):探索&#39; __ android_log_print&#39;。 07-15 12:42:06.528 D / Mono
(16481):发现为&#39; __ android_log_print&#39;。 07-15 12:42:06.538 I / MonoDroid(16481):UNHANDLED EXCEPTION:07-15 12:42:06.538 I / MonoDroid(16481):System.NullReferenceException:对象引用 未设置为对象的实例。 07-15 12:42:06.538 I / MonoDroid(16481):at BitesBoardMobile.Droid.MainActivity.OnActivityResult(Int32 requestCode,Result resultCode,Android.Content.Intent data)[0x0002d] 在C:\ Users \ Larry \ Documents \ Visual Studio中 2015 \项目\ BitesBoardMobile \ BitesBoardMobile \ BitesBoardMobile.Droid \ MainActivity.cs:204 07-15 12:42:06.538 I / MonoDroid(16481):at Android.App.Activity.n_OnActivityResult_IILandroid_content_Intent_ (IntPtr jnienv,IntPtr native__this,Int32 requestCode,Int32 native_resultCode,IntPtr native_data)[0x00014] in /Users/builder/data/lanes/3415/ffca580c/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.App.Activity.cs:2150 07-15 12:42:06.538 I / MonoDroid(16481):at(包装动态方法) System.Object的:94390831-eca3-413f-9213-15bb3ef4a181 (intptr,intptr,int,int,intptr)07-15 12:42:06.578 D / Mono(16481): DllImport搜索:&#39; __内部&#39; (&#39;(空)&#39)。 07-15 12:42:06.578 D / Mono(16481):搜索&#39; java_interop_jnienv_throw&#39;。 07-15 12:42:06.578 D / Mono(16481):探索&#39; java_interop_jnienv_throw&#39;。 07-15 12:42:06.578 D / Mono(16481):发现为 &#39; java_interop_jnienv_throw&#39 ;.发生了未处理的异常。07-15 12:42:09.542 E / mono(16481):07-15 12:42:09.542 E / mono
(16481):未处理的异常:07-15 12:42:09.542 E / mono(16481): System.NullReferenceException:未将对象引用设置为实例 一个对象。 07-15 12:42:09.542 E / mono(16481):at(包装纸 动态方法)System.Object:94390831-eca3-413f-9213-15bb3ef4a181 (intptr,intptr,int,int,intptr)07-15 12:42:09.542 E / mono(16481):
at(包装器本机到托管) System.Object的:94390831-eca3-413f-9213-15bb3ef4a181 (intptr,intptr,int,int,intptr)07-15 12:42:09.542 E / mono-rt(16481): [ERROR]致命的未处理的异常:System.NullReferenceException: 你调用的对象是空的。 07-15 12:42:09.542 E / mono-rt(16481):at(包装动态方法) System.Object的:94390831-eca3-413f-9213-15bb3ef4a181 (intptr,intptr,int,int,intptr)07-15 12:42:09.542 E / mono-rt(16481):
at(包装器本机到托管) System.Object的:94390831-eca3-413f-9213-15bb3ef4a181 (intptr,intptr,int,int,intptr)在mgmain JNI_OnLoad
请帮忙。