栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android重启App

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android重启App

Android重启App
  • 前言

自动重启App,这个需求会在很多地方用到,举两个例子:登录过期后、退出登录。想必大家百度过也有一定的处理方案,但是这些方案不是太复杂就是无效,还有就是cv选手,百度的东西真需要自己好好斟酌一下。避免大家踩坑也方便自己回顾,这里记录一下。

  • 解决方案

Kotlin语法:

context.packageManager.getLaunchIntentForPackage(context.packageName)?.apply {
     // 下面这个Flag至关重要,会清空栈里所有的Activity
     addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
     context.startActivity(this)
}
// 结束进程
Process.killProcess(Process.myPid())
  • 缺陷分析

如果该App以startService()的方式开启了一个或多个Service,调用上述代码重启后会造成Service也重启。需要在结束进程前stop所有已开启的Service,比较麻烦。如果需要让Service绑定Application的生命周期,这里推荐的写法是context.bindService(),这个context是Application的上下文,解绑的时候需要注意一下connection的引用。原理我这就不展开说了,大家百度一下吧。

如果大家有什么更好的解决方案,欢迎下面留言。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/305915.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号