在前段时间的编程开发中,突然发现一个小坑的地方,其实在Android官方中并没有限制,但是在很多厂商的系统中却做了修改限制,那就是“后台弹出界面权限”

最开始发现这个问题,是因为我的悬浮框当应用处于后台时,悬浮框所有功能失效,我一开始以为是出了什么bug,后来才发现这是系统的问题,例如小米系统就有这个限制

为了绕过这个权限,也做过一些处理

例如:

通过前台服务的方式启动后台应用

引导用户打开相应权限

获取当前堆栈,判断应用是否被打开,如果未被打开则强行将应用提至前台

经过测试,第一种方法无效。第二种方案是必备的,让用户打开权限自然是最好的,第三种方法则是比较取巧的方法,这里着重讲第三种方案

先判断我们的界面是否已经被调用到前台

ActivityManager activityManager= (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

List list = activityManager.getRunningTasks(1);

if (list != null && list.size() > 0) {

ComponentName cpn = list.get(0).topActivity;

Log.e("className",""+cpn.getClassName());

if (className.equals(cpn.getClassName())) {

return true;

}

}

然后获取在相应的界面获取activityManager

val activityManager =

context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager

最后利用系统的当前的task堆栈

val taskInfoList: List =

activityManager.getRunningTasks(20)

然后循环找到自己有用的task,将其调至强行切换到前台即可

android允许应用在后台弹出界面,Android部分手机“后台弹出界面权限”解决方案...相关推荐

  1. 三星 android 5.0 root,三星N9008S Android 5.0 (GALAXY Note 3 移动4G)ROOT教程,简单几步完成ROOT...

    三星N9008S Android 5.0 (GALAXY Note 3 移动4G)怎么ROOT?三星N9008S Android 5.0 (GALAXY Note 3 移动4G)ROOT工具选用哪些? ...

  2. android 设置键盘弹出动画,Android实现键盘弹出界面上移的实现思路

    1.首先说一下思路: 基本就是结合layout中ScrollView视图和AndroidManifest.xml中activity中的android:windowSoftInputMode属性配置实现 ...

  3. android开发蓝牙是否可见开关_如何从后台开启android蓝牙的可见性以及始终保持可见性...

    最近工作中遇到一个特殊的需求,要求代码能够从后台开机android手机蓝牙的可见性.而framework提供了一种打开可见性的操作,就是通过向用户弹出一个提示框,来询问是否允许开启可见性.而且限制了最 ...

  4. Android 系统性能优化(81)---Android后台优化系列-background optimization-初识低耗电模式

    Android后台优化系列-background optimization-初识低耗电模式 〇. 序 当我们手机屏幕电量的时候,我们或在游戏,或在看视频,或在上网,屏幕是一个很耗电的组件,在电量消耗方 ...

  5. Android 系统(73)---Android判断你的应用在前台还是在后台

    Android判断你的应用在前台还是在后台 /*** 判断应用是否是在后台*/public static boolean isBackground(Context context) {Activity ...

  6. android 8.0后台定位,Android 8.0权限说明

    从Android 8.0开始系统为实现降低功耗,对后台应用获取用户位置信息频率进行了限制,每小时只允许更新几次位置信息,详细信息请参考官方说明.按照官方指引,如果要提高位置更新频率,需要后台应用提供一 ...

  7. android 清理后自动重启,解决Android后台清理APP后,程序自动重启的问题

    最近解决了一个Android APP的bug,发现APP在被后台清理后,会自动重启.现象很奇怪,有的手机(HTC)后台清理后,程序必crash,而有的手机(小米)程序不会crash.查找问题时,发现H ...

  8. 电信物联网开放平台_NB-IoT业务对接 Java 后台、Android 前端已完成预研

    电信物联网开放平台_NB-IoT业务对接 Java 后台.Android 前端已完成预研 一.NB-IoT : 硬件设备 BC28模组 二.Java 后台: SSH集成电信物联SDK.极光推送SDK. ...

  9. android 后台数据获取,android post方式给后台服务器传递数据

    请求方式GET和POST的简单分别: get方式是把参数附加到URL地址后面,如: post是将请求参数放到请求体中,以流的方式传到服务器,另外上传文件时,一定是post方式 下面的代码是用post方 ...

  10. android 应用置顶到最前端_Android 将后台应用切换到前台

    目录 需求分析 代码实现 需求分析 1.项目中有一个需求,需要调用打开本地安装好的第三方 APP,然后在某个时刻需要将自己的 APP 仍然从后台切换到前端(置顶). 2.效果如下:点击 "开 ...

最新文章

  1. 信息检索及信息过滤方法概述
  2. 前端学习(2961):前一天回顾
  3. 【LeetCode笔记】94 144 145. 二叉树的前序、中序、后序遍历的迭代与递归(Java、dfs、迭代)
  4. C#中通过代码控制IIS服务重启
  5. 使用Oraclize让智能合约调用外部数据
  6. 编译器在构造函数里都做了些什么?
  7. bat运行exe 自动确认_无powershell运行powershell方法总结
  8. 百度Echarts 全国省市地图 动态数据图形报表
  9. 内存映射文件原理探索
  10. 左手云通讯,右手AI,容联为何能成为云联络中心“风向标”?
  11. 计算机使用的dns错误,dns错误,教您dns错误怎么修复
  12. 最新web/java/jsp实现发送手机短信验证码和邮箱验证码的注册登录功能(详细)
  13. 【实习小tip】多层dialog弹窗遮罩问题、elementUI的form表单组件的select框在只读的情况下没办法拿到传来的数据、从弹窗子组件获取数据后需要刷新页面
  14. 嵌入式软件开发学习 工程师要掌握的基本技能
  15. 【题目解析】2019年第十六届中国研究生数学建模竞赛B题 --天文导航中的星图识别+
  16. 小米pro如何关闭安全启动_Apple的新安全功能不会让您维修MacBook Pro或iMac Pro [更新]...
  17. 家谱树(gentree)
  18. DataQL The content of elements must consist of well-formed character data or markup. 问题
  19. 如果报了前端培训班,还是学不会怎么办?
  20. 哔哩哔哩视频显示在Github的Markdown博客页方法

热门文章

  1. AndroidQ(十)Android Q功能和API
  2. 重装系统,超详细教程
  3. 计算机教程求和,电脑excel求和怎么操作步骤 | excel竖列自动求和sum
  4. mac上利用openssl命令进行软件安装包的哈希校验
  5. cyclic behavior during switching
  6. 详谈利用系统漏洞及mysql提权
  7. 如何把苍白的一年写成耀眼的年终报告?写完当场加薪的那种
  8. 2cm有多长实物图_两厘米(2cm有多长实物图)
  9. python泰勒展开式求sin_泰勒展开式利用python数值方法证明
  10. 第一次基因数据处理从集群到数据处理结果---构建菌群物种丰度的图谱