Xamarin.FormsのGetting Startedの通りに実行していたら例外が発生しました。
概要
Xamarin.Formsのガイドにある、Getting Startedの「Xamarin.Forms Multiscreen Quickstart」通りにプログラムを書いて、Android端末でデバッグしていたら、下記のような例外が発生しました。
System.InvalidOperationException: PushAsync is not supported globally on Android, please use a NavigationPage.
これによると、画面遷移に利用しているPushAsyncが使えないようです。
解決方法
PushAsyncが使えないので、代わりに、PushModalAsyncを使います。
プログラムはこのようになります。
using System;
using Xamarin.Forms;
namespace Phoneword
{
public partial class MainPage : ContentPage
{
...
void OnCallHistory(object sender, EventArgs e)
{
Navigation.PushModalAsync (new CallHistoryPage ());
}
}
}
これで、エラーが出なくなりました。