导航页面在C#中使用Xamarin形式的异常

问题描述:

我在Xamarin PCL应用程序中实现了混合Web视图。导航页面在C#中使用Xamarin形式的异常

我在前面提到的混合Web视图中使用JavaScript从Html页面调用C#函数。

问题是,虽然我的函数被调用,但当我尝试从它重定向时抛出异常。

Android.Util.AndroidRuntimeException:

只有创建视图层次可以触摸其观点原来的线程。

at System.Runtime.ExceptionServices.ExceptionDispatchInfo。

我的代码如下:

var isValid = AreCredentialsCorrect(user); 

if (isValid) 
{ 
    try 
    { 
     await Navigation.PushAsync(new UserDashboard("local.html?auth_admin=true")); 

    } 
    catch { } 

} 

public UserDashboard(string uriname) 
{ 
    InitializeComponent(); 

    hybridWebView.Uri = uriname; 

    hybridWebView.RegisterAction(data => userLogin(data)); 

} 

听起来像你想从后台线程更新UI。尝试从主线程导航:

Device.BeginInvokeOnMainThread(async() => await Navigation.PushAsync(new UserDashboard("local.html?auth_admin=true")));