gpt4 book ai didi

java - Xamarin、Android Activity 、IntentFilter、打开表单 View

转载 作者:行者123 更新时间:2023-12-02 00:57:15 26 4
gpt4 key购买 nike

我正在浏览器中进行用户身份验证。

成功通过身份验证后,浏览器将关闭并执行 AndroidMainActivity.OnCreate()。但是应用程序显示空白屏幕,就像没有加载 View /页面一样。我从 MVVMCross (MvvmCross.Logging.MvxLog) 获取此日志,在 LoadViewModel 中没有为 AndroidMainActivity 指定 ViewModel 类。

所以看起来现在我应该导航到某些表单页面???然而导航对我没有任何作用。也许我应该采取不同的做法,但我找不到任何关于如何做到这一点的文章或示例。

这就是我现在正在尝试的方法:

    [Activity(MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
[IntentFilter([] { Intent.ActionView }, Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable }, DataScheme = GdspScheme.SCHEME)]
public class AndroidMainActivity : MvxFormsAppCompatActivity<AndroidSetup, MainApplication, App>
{
protected override void OnCreate(Bundle bundle)
{
if (Intent.Data != null)
{
// user authenticated

Xamarin.Forms.Application.Current.MainPage.Navigation.PushAsync(new NavigationPage(new FormsView()));
}
}
}

最佳答案

当然,您应该在 Forms 项目中调用此行。

您可以使用消息中心

MainActivity

if (Intent.Data != null)
{
// user authenticated
MessagingCenter.Send<Object>(this, "authenticatedFinished");

}

在 Forms 中 ->MainPage 的构造函数

public xxxMainPage()
{
//...
MessagingCenter.Subscribe<Object>(this, "authenticatedFinished", () =>
{
Navigation.PushAsync(new NavigationPage(new FormsView()));

});
}

关于java - Xamarin、Android Activity 、IntentFilter、打开表单 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57805178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com