zoukankan      html  css  js  c++  java
  • xamarin.android App在后台运行不退出

         /// <summary>
            /// 重写按键事件
            /// </summary>
            /// <param name="keyCode"></param>
            /// <param name="e"></param>
            /// <returns></returns>
            public override bool OnKeyDown([GeneratedEnum] Keycode keyCode, KeyEvent e)
            {
                // 根据某种情形禁用返回键
                if (keyCode == Keycode.Back && disableBack)
                {
                    PackageManager pm = PackageManager;
                    ResolveInfo homeInfo = pm.ResolveActivity(new Intent(Intent.ActionMain).AddCategory(Intent.CategoryHome), 0);
                    ActivityInfo ai = homeInfo.ActivityInfo;
                    Intent startIntent = new Intent(Intent.ActionMain);
                    startIntent.AddCategory(Intent.CategoryLauncher);
                    startIntent.SetComponent(new ComponentName(ai.PackageName, ai.Name));
                    StartActivitySafely(startIntent);
                    return false;
                }
    
                return base.OnKeyDown(keyCode, e);
            }
    
            private void StartActivitySafely(Intent intent)
            {
                intent.AddFlags(ActivityFlags.NewTask);
                try
                {
                    StartActivity(intent);
                }
                catch (ActivityNotFoundException ex)
                {
                    Toast.MakeText(this, "StartActivitySafely()异常:" + ex.Message, ToastLength.Short).Show();
                }
                catch (SecurityException ex)
                {
                    Toast.MakeText(this, "StartActivitySafely()异常:" + ex.Message, ToastLength.Short).Show();
                }
            }
  • 相关阅读:
    抽象工厂与工厂方法的区别
    工作那些年的事兒
    抽象工廠與工廠方法的區別
    Dot Net设计模式—MVC模式
    Log4Net配置
    FileStream的使用
    asp.net用户检测的两种方式
    SWFUpload无刷新文件批量上传
    页面生命周期
    Lambda表达式与匿名方法
  • 原文地址:https://www.cnblogs.com/mycing/p/5570337.html
Copyright © 2011-2022 走看看