「Xamarin.Androidでアプリを完全に終了させる」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「Xamarin.Androidでアプリを完全に終了させる == Android 5.0 (API 21) から == * FinishAndRemoveTaskメソッドを呼ぶだけ == Android 4.4 (API 20) まで...」)
 
9行目: 9行目:
  
 
== 実装例 ==
 
== 実装例 ==
<source>
+
<source lang="csharp">
 
     using Android.App;
 
     using Android.App;
 
     using Android.Widget;
 
     using Android.Widget;

2018年9月28日 (金) 02:19時点における版

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();
                }
            };
        }
    }

関連項目