专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

xamarin.android App在后台运行不退出

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:57:31       共计:3632 浏览

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

           }

       }

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:在 Xamarin.Android 中使用 Notification.Builder 构建通知 | ·下一条:c# - Xamarin形式的隔离进程的后台服务

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有