Xamarin的.混合ContentPage和Android Activity的表单

本文关键字:Activity 表单 Android ContentPage 混合 Xamarin | 更新日期: 2023-09-27 18:18:54

如何将两个页面混合在一起

我想做一些特定的平台(Android) OnActivityResult,但我在Xamarin中使用ContentPage。形式

我怎么知道在我的。droid项目是哪个activity ?

假设我有一个叫做CalendarPage : ContentPage的页面。我在哪里注册它在我的机器人项目,所以我可以捕捉ActivityResult在该活动(ContentPage)?

我不知道,因为我刚来Xamarin。表格和学习

Xamarin的.混合ContentPage和Android Activity的表单

Xamarin表单运行在一个活动上,这是最像你的主活动。

有两个示例项目向您展示了如何在代码的原生部分和表单部分之间进行通信,它们可以在这里找到

  1. https://github.com/xamarin/xamarin-forms-samples/tree/master/Forms2Native
  2. https://github.com/xamarin/xamarin-forms-samples/tree/master/Native2Forms

然而,要回答你的问题,你可以这样做

 private const int MyRequestCode = 101;
 //Start activity for result
 var contactPickerIntent = new Intent(Intent.ActionPick, Android.Provider.ContactsContract.Contacts.ContentUri);
 context.StartActivityForResult(contactPickerIntent, MyRequestCode);

,然后在你的主活动(活动初始化你的xamarin表单应用程序(使用global::Xamarin.Forms.Forms.Init(this, bundle);)

protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
    if (requestCode == MyRequestCode && resultCode == Result.Ok)
    {
    }
}