###前提・実現したいこと
XamarinとC#を使ったAndroidアプリ。
1つのActivityのみを持つアプリで、バックボタンを押した際に一度だけ確認のダイアログを出し、そこで終了するという選択をしてはじめてアプリが終了されるようにしたい。
###発生している問題・エラーメッセージ
Debug、Releaseビルド双方で確認のダイアログが2回出現し、1回でも「Yes」を押すと終了し、2回連続で「No」を押さないと終了せずそのままという状況。 エラーメッセージはない。 全て実機におけるテストの結果。
###事象の発生しているコード
MainActivity.cs
using Android.App; using Android.Widget; using Android.OS; using Android.Content; using Android.Views; namespace App1 { [Activity(Label = "Score", MainLauncher = true, Icon = "@drawable/icon", ScreenOrientation = Android.Content.PM.ScreenOrientation.Portrait)] public class MainActivity : Activity { (中略) public override bool DispatchKeyEvent(KeyEvent e) { if (e.KeyCode == Keycode.Back) { AlertDialog.Builder alert = new AlertDialog.Builder(this); alert.SetTitle("Terminate Check"); alert.SetMessage("Really?"); alert.SetNegativeButton("No", (sender, args) => { }); alert.SetPositiveButton("Yes", (sender, args) => { Finish(); }); alert.Show(); } return base.DispatchKeyEvent(e); } protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView (Resource.Layout.Main); Window.AddFlags(Android.Views.WindowManagerFlags.KeepScreenOn); (中略) } } }
###補足情報(言語/FW/ツール等のバージョンなど)
Visual Studio Community 2017、Xamarin、C#を使用。
テストに使用した端末はXperia XZ、Androidのバージョンは7.0。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/15 11:02