Xamarin.Androidでアプリを完全に終了させる

提供: MonoBook
2018年10月3日 (水) 04:30時点におけるimported>Administratorによる版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

Xamarin.Androidでアプリを完全に終了させる

Android 5.0 (API 21) から[編集 | ソースを編集]

  • FinishAndRemoveTaskメソッドを呼ぶだけ

Android 4.4 (API 20) まで[編集 | ソースを編集]

  • Activity属性に「ExcludeFromRecents = true」を設定する
  • Finishメソッドを呼ぶ

実装例[編集 | ソースを編集]

    using Android.App;
    using Android.Widget;
    using Android.OS;

    [Activity(Label = "finish", 
              MainLauncher = true, 
              Icon = "@mipmap/icon",
              ExcludeFromRecents = true)]
    public class MainActivity : Activity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            // Get our button from the layout resource,
            // and attach an event to it
            Button button = FindViewById<Button>(Resource.Id.myButton);

            button.Click += (s, e) => 
            {
                try
                {// Android5.0(API21)から
                    // FinishAndRemoveTaskメソッドを呼ぶだけでよい
                    this.FinishAndRemoveTask();
                }
                catch(Java.Lang.NoSuchMethodError)
                {// Android4.4(API20)まで
                    // Activityの属性に「ExcludeFromRecents = true」を設定した状態で
                    // Finishメソッドを呼ぶとFinishAndRemoveTaskメソッドと同じ挙動になる。
                    this.Finish();
                }
            };
        }
    }

関連項目[編集 | ソースを編集]