尝试调用虚拟方法';android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData

尝试调用虚拟方法';android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData,android,xamarin,xamarin.android,Android,Xamarin,Xamarin.android,从我的android应用程序拍照时出现异常。我使用了媒体插件 {Java.Lang.NullPointerException:尝试调用虚拟方法 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)“”中的空对象引用 System.Runtime.ExceptionServi

从我的android应用程序拍照时出现异常。我使用了媒体插件

{Java.Lang.NullPointerException:尝试调用虚拟方法 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)“”中的空对象引用 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c]英寸:0英寸 Java.Interop.JniEnvironment+StaticMethods.CallStaticObjectMethod (Java.Interop.JniObjectReference类型,Java.Interop.JniMethodInfo 方法,Java.Interop.JniArgumentValue*args)[0x00069]in :0 at Android.Runtime.JNIEnv.CallStaticObjectMethod(System.IntPtr jclass, System.IntPtr jmethod,Android.Runtime.JValue*parms)[0x0000e]in :0 at Android.Support.V4.Content.FileProvider.GetUriForFile (Android.Content.Context、System.String authority、, Java.IO.File文件[0x00078]in:0
在Plugin.Media.MediaPickerActivity.OnCreate(Android.OS.Bundle)上 中的savedInstanceState)[0x0023f] C:\projects\mediaplugin\src\Media.Plugin.Android\MediaPickerActivity.cs:162

---来自引发异常的上一个位置的堆栈结束跟踪---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c]英寸:0英寸 System.Runtime.CompilerServices.TaskWaiter.ThrowForNonSuccess (System.Threading.Tasks.Task任务)[0x0003e]中的 :0 at System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification 中的(System.Threading.Tasks.Task任务)[0x00028] :0 at System.Runtime.CompilerServices.TaskWaiter.ValidateEnd 中的(System.Threading.Tasks.Task任务)[0x00008] :0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult() [0x00000]英寸:0英寸 Plugin.Media.MediaImplementation+d_u16.MoveNext() [0x000c7]英寸 C:\projects\mediaplugin\src\Media.Plugin.Android\mediaplementation.cs:119

---来自引发异常的上一个位置的堆栈结束跟踪---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c]英寸:0英寸 System.Runtime.CompilerServices.TaskWaiter.ThrowForNonSuccess (System.Threading.Tasks.Task任务)[0x0003e]中的 :0 at System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification 中的(System.Threading.Tasks.Task任务)[0x00028] :0 at System.Runtime.CompilerServices.TaskWaiter.ValidateEnd 中的(System.Threading.Tasks.Task任务)[0x00008] :0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult() [0x00000]英寸:0英寸 Propznet.Mobile.Features.Inventory.Helpers.UnitCreateUpdateViewModelBase+d.MoveNext ()[0x00091]在E:\Propznet中 Mobile\Source\Propznet.Mobile\Propznet.Mobile.Features.Inventory\Helpers\unitcreateupdateeviewmodelbase.cs:322 ---托管Java.Lang.NullPointerException堆栈跟踪的结束---Java.Lang.NullPointerException:尝试调用虚拟方法 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)“”中的空对象引用 android.support.v4.content.FileProvider.parsePathStrategy(FileProvider.java:583) 在 android.support.v4.content.FileProvider.getPathStrategy(FileProvider.java:557) 在 android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:399) 在 md5f1b52d9f1d5d1981437e7e130649468a.MediaPickerActivity.n_onCreate(本机) 方法)在 md5f1b52d9f1d5d1981437e7e130649468a.MediaPickerActivity.onCreate(MediaPickerActivity.java:42) 在android.app.Activity.performCreate(Activity.java:6259)的 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1130) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2382) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2493) 位于android.app.ActivityThread.-wrap11(ActivityThread.java)处 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1357) 位于android.os.Handler.dispatchMessage(Handler.java:102) Looper.loop(Looper.java:148)位于 android.app.ActivityThread.main(ActivityThread.java:5459)位于 java.lang.reflect.Method.invoke(本机方法)位于 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)}


检查ANDROID N部分中您使用的库的自述(如上面的评论中Grace Feng所述)。

您必须将目标版本设置为API 23+并根据API进行编译 23+:


我也有同样的错误,当我在发布模式下运行应用程序时,在调试模式下,它是正常的。所以我在Android选项页面上把Android项目的属性从SDK程序集改为无。它解决了我的问题。

你的应用程序的目标版本是什么?您是否在android项目的清单中添加了元数据,并创建了一个名为“file_path.xml”的新xml?android 7.0.file_path?检查您使用的库的“自述”部分,在
android N
部分。这些注释解决了您的问题吗?是的,它可以工作
   var file = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions
                        {
                            PhotoSize = PhotoSize.Medium,
                            Directory = "Sample",
                            Name = "test.jpg"
                        });