C# 混合ContentPage和Android活动的Xamarin.forms
如何将两页混合在一起 我想在ActivityResult上做一些特定于平台(Android)C# 混合ContentPage和Android活动的Xamarin.forms,c#,android,xamarin,xamarin.forms,C#,Android,Xamarin,Xamarin.forms,如何将两页混合在一起 我想在ActivityResult上做一些特定于平台(Android) 在我的.Droid项目中,我如何知道它是哪个活动 假设我有一个名为CalendarPage:ContentPage的页面。 我应该在droid项目的何处注册它,以便在该活动(ContentPage)中捕获ActivityResult 因为我是Xamarin的新手,所以我没有任何线索。表单和学习它。Xamarin表单运行在一个活动上,最像您的主要活动 有两个示例项目向您展示了如何在代码的本机部分和表单部分
在我的.Droid项目中,我如何知道它是哪个活动
假设我有一个名为CalendarPage:ContentPage
的页面。
我应该在droid项目的何处注册它,以便在该活动(ContentPage)中捕获ActivityResult
因为我是Xamarin的新手,所以我没有任何线索。表单和学习它。Xamarin表单运行在一个活动上,最像您的主要活动
有两个示例项目向您展示了如何在代码的本机部分和表单部分之间进行通信,可以在这里找到
但是,要回答您的问题,您可以执行以下操作
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(这个包);
)
Xamarin forms在一个活动(很可能是您的主要活动)上运行,因此所有内容都将在其中结束。请将其设置为aswhere,以便我可以再次接受它。m8:)您可以检查哪个活动加载了吗???搜索global::Xamarin.forms.forms.Init(此,bundle)代码>,这是活动。我现在举个例子。
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
if (requestCode == MyRequestCode && resultCode == Result.Ok)
{
}
}