2017-09-12 26 views
2

我正在使用Xamarin Forms和Visual Studio開發移動Android應用程序。Xamarin表單操作相機給出了空的異常

我使用CrossMedia插件可以在我的移動應用程序中拍攝或選擇照片。起初,我遇到了初始化問題,而且這個問題似乎是由我所針對的Android SDK錯誤造成的。在我更新了SDK並更新了所有軟件包之後,我可以使用「選擇照片」選項,但使用相機仍然無法正常工作,我無法弄清楚是什麼導致了這種情況。

我有以下方法;但是,當我運行代碼時,我得到一個空的異常,它只是說'(空)';

enter image description here

的Visual Studio調試窗口給了我很多的信息,但是隻有真正的例外,我在這裏看到的是一個「InvocationException」;

InspectorDebugSession(0): HandleTargetEvent: TargetHitBreakpoint 
InspectorDebugSession(0): StateChange: EntryPointBreakpointRegistered -> EntryPointBreakpointHit 
InspectorDebugSession(0): AgentBridge.InjectAssembly: /mnt/shell/emulated/0/Android/data/MyFirstAppPackage.MyFirstAppPackage/files/.__override__/inspector-temp/Xamarin.Interactive.dll 
InspectorDebugSession(0): AgentBridge.InjectAssembly: Mono.Debugger.Soft.InvocationException: Exception of type 'Mono.Debugger.Soft.InvocationException' was thrown. 
    at Mono.Debugger.Soft.InvocationsAPI.EndInvokeMethodInternalWithResultImpl(IAsyncResult asyncResult) 
    at Xamarin.Interactive.IdeSupport.AgentBridge.InjectAssembly(String agentAssemblyPath) in C:\d\lanes\4699\fec6f88f\source\xamarinvs\External\inspector-ide-integration\Xamarin.Interactive.IdeSupport\AgentBridge.cs:line 55 
    at Xamarin.Interactive.IdeSupport.InspectorDebuggerSession.<HandleTargetEvent>b__26_0(Object <p0>) in C:\d\lanes\4699\fec6f88f\source\xamarinvs\External\inspector-ide-integration\Xamarin.Interactive.IdeSupport\InspectorDebuggerSession.cs:line 242 
InspectorDebugSession(0): StateChange: EntryPointBreakpointHit -> Error 
InspectorDebugSession(0): Disposed 

我一直在忙一段時間來試圖弄清楚這一點,但我現在完全停留在這一點上。我也嘗試通過將三星Galaxy S4 Mini連接到我的電腦進行遠程調試,但它給了我同樣的錯誤。我在這裏做錯了什麼?

+0

可能是一個調試工件。我已經看到單聲道,模擬器/設備和視覺工作室的組合比這更怪異。嘗試'Debug.Write(exception.ToString());'而不是'throw',看看它是否輸出任何有用的東西。 – dlatikay

+0

我在Android模擬器上運行你的函數沒有問題,它工作。在一個函數中,具有相同名稱的變量是已知的問題。你有2個「異常」變量。請將其中一個改爲「ex1」,您將能夠看到異常情況。 –

+0

正如尤里所說,有兩種異常:'System.Exception'和'Java.Lang.Exception'。我不知道你使用的是什麼類型的'Exception',但是看起來你捕獲的異常不屬於你正在使用的'Exception'。 –

回答

0

我通過簡單地選擇適當的Android版本進行編譯就解決了這個問題。插件文檔說android的編譯版本需要設置爲Android 6.0,我將它設置爲7.0,因爲我認爲這是可能的。但事實並非如此。

此外,目標Android版本被設置爲更高版本。將這兩個設置爲Android 6.0解決了這個問題。

欲瞭解更多信息,請參閱文檔here

相關問題