Xamarin Native Facebook 与 Xamarin.Forms 混合

Xamarin Native Facebook mixed with Xamarin.Forms

我有这个 Xamarin.Forms 项目,我在我的 Droid 和 iOS 项目中使用本机 Facebook sdk。

我在本机登录后无法访问 Xamarin 表单。

基本上,我在我的 android 主文件中启动 Facebook 内容。

这里的问题是,如果我的 class 是从 FormsApplicationActivity 派生的,FacebookSDK 将无法正常工作。因此我不能使用 SetPage。有什么方法可以让我从 Native Android?

导航到我的表单

如果我从 Activity 派生,SDK 执行正常,但如果从 FormsApplicationActivity 派生,我会遇到异常。

我试过各种方法(比如创建一个单独的 FormsApplicationActivity,然后让它加载我的 App.cs 到 Forms),但没有任何帮助。

求助,我的头发都快没了:-)

我不知道这是否适用于您使用 Facebook SDK 的具体问题,但是

Is there any way I can navigate to my Forms from Native Android?

有可能!

实际上,当您创建一个新的 Xamarin.Forms 项目时,基本上已经为您完成了。 .Droid 解决方案(原生 Android)为 .Forms 解决方案(LoadApplication (new App ());)启动一个容器。

如果您要手动执行此操作,只需创建一个新的 Xamarin.Forms 解决方案并从 MainActivity.cs

中删除以下代码
MainLauncher = true

现在向 .Droid 项目添加一个新的常规 Android Activity 并确保它是 MainLauncher = true ,使其成为您 Android 应用。从这个 Activity,您可以导航到任何类型的 Activity(在您的情况下:Facebook SDK 所需的)。

完成后,只需启动包含 Xamarin.Forms 解决方案的 MainActivity,就像您通常在 Android 中所做的那样,例如:

var intent = new Intent(this, typeof(MainActivity));
StartActivityForResult(intent);

这将像往常一样加载 Xamarin.Forms 解决方案。祝你好运!