前言

小米手机有个特殊的权限,"后台弹出界面(允许应用在后台弹出界面)",默认是拒绝的,如下图所示.

OK,故事就此展开.

允许后台弹出界面

顾名思义,这个权限意思就是说,我应用在后台了,如果没有开启这个权限,通过Intent启动Activity的方法将不会启动界面成功,并且小米会输出以下日志.

"com.android.server.am.ExtraActivityManagerService: MIUILOG- Permission Denied Activity".

真是很坑阿,米哥,要玩死我们开发者阿,就不能遵从点谷歌规范,完善开发生态吗.

看到有些博客竟然这样说:

米哥,想挣钱挣疯了? 多听听开发者的声音,遵循谷歌规范,加油,奥力给!!!

解决方案

经测试,华为手机没有这个权限,目前vivo/oppo/小米手机有这个“后台弹出界面”权限.

1.既然这样,得想办法绕过这个后台启动机制。一般来说,从后台启动Activity的时候,Activity当中会启动一个Dialog来提示用户,ok,那我直接不启动Activity,直接弹出Dialog不就行了,完美绕过这个机制.

2.经过我不懈的搜索,我发现了一个方法,测试可用,小米官方提供代码如下:

   private boolean isAllowed() {AppOpsManager ops = (AppOpsManager) getSystemService(Context.APP_OPS_SERVICE);try {int op = 10021;Method method = ops.getClass().getMethod("checkOpNoThrow", new Class[]{int.class, int.class, String.class});Integer result = (Integer) method.invoke(ops, op, Process.myUid(), getPackageName());return result == AppOpsManager.MODE_ALLOWED;} catch (Exception e) {Log.e(TAG, "not support");}return false;}

总结

目前采用第一个方案,去合理的绕过这个机制,当然实在不行了,第二个方法可以做兼容处理.

米哥,别再折腾米粉开发者了,以后加油,多遵循谷歌规范,多给开发者带来福利,奥利给!!!

小米手机后台弹出界面(允许应用在后台弹出界面)权限问题解决方案相关推荐

  1. Android 小米手机开发APP图标更换后还显示原来的图标

    Android修改了APP的图标,发布到应用商店,在小米手机下载APP后发现显示的还是原来的图标,查了资料后发现是 小米开放平台之前设置的完美图标还没修改.因为在小米手机上安装APP后会后台去获取完美 ...

  2. 小米9开发版自带root吗_小米手机MIUI9开发版开启ROOT权限方法,这些经验不可多得...

    小米MIUI9系统如何获取ROOT权限呢?相比其它品牌手机系统而言,MIUI9开发版系统自带ROOT权限管理工具,如果想获取MIUI系统ROOT权限,只需要根据下面的方法进行操作即可. 操作方法 01 ...

  3. 小米手机5s获得root权限的经验

    小米手机5s有何方法启用了root权限?各位都知道,android系统有root权限,如果手机启用了root相关权限,可以实现更完美的功能,举个栗子各位公司的营销部门的妹子,使用某些营销应用都需要在r ...

  4. 小米手机5X获得Root权限的方法

    小米手机5X有没有办法获得root超级权限?做开发的人清楚,Android手机有root超级权限,如果手机获得root相关权限,可以实现更强大的功能,打个比方做开发的人单位的营销部门,使用一些营销工具 ...

  5. 小米手机4c获取Root权限的流程

    小米手机4c能如何拥有了ROOT超级权限?做开发的人都了解,android手机有ROOT超级权限,一旦手机拥有了root相关权限,就能够实现更强的功能,举个栗子做开发的人部门的营销部门同事,使用一些营 ...

  6. 如何获得小米手机4c的Root超级权限

    小米手机4c有么好方法开通了Root权限?做开发的人清楚,安卓系统有Root权限,一旦手机开通了root相关权限,能够实现更完美的功能,举个例子,做开发的人公司的营销部门的妹子,使用个别营销应用都需要 ...

  7. 如何开启小米手机5的ROOT权限

    小米手机5有木有方法获取了root权限?做开发的人知道,安卓系统有root权限,一旦手机获取了root相关权限,能够实现更完美的功能,举个例子做开发的人部门的营销部门的同事,使用较多营销应用都需要在r ...

  8. 小米3基于android,小米手机3评测 最大最快的小米3详细评测图文介绍

    骁龙800处理器 骁龙800内部集成了四颗Karit 400架构的CPU核心,采用台积电28nm HPM工艺制造,该工艺是专为高性能移动处理器而生的,让骁龙800每颗核心的最高频率均可达到2.3GHz ...

  9. 小米手机开发版如何获得ROOT权限

    小米手机有木有方法开通了ROOT超级权限?我们都了解,安卓设备有ROOT超级权限,如果手机开通了root相关权限,能够实现更多的功能,比如我们部门的营销部门的妹纸,使用一些营销应用都需要在ROOT超级 ...

  10. MIUI/小米手机1S (电信官翻版) root教程_方法

    MIUI/小米手机1S (电信官翻版)的root教程在这里整理了一下,之前有机友说自己的手机想删除系统自带的一些无用软件,可是怎么也删除不了,所以需要先进行root才可以删除,不然的话是 删除不了的, ...

最新文章

  1. 多线程读一个全局变量要不要加锁?还是说只是当修改全局变量的时候才要加锁?...
  2. 堪称神级的 Java 技术栈手册火了!
  3. php ids,PHP / MYSQL查询id“duplicate ids”
  4. pbr 多出口_结合BFD基于PBR的多出口流量转发的控制与备份
  5. SUSE Linux 维护笔记一
  6. shell替换程序里的代码
  7. git 操作二进制文件
  8. SQL语句中,创建标识列、默认值及各种约束的语法介绍
  9. WebService学习之三:spring+cxf整合
  10. Surfer格网文件裁剪
  11. 跨进程 API hook
  12. android soundpool 封装,android使用SoundPool 播放短音效
  13. 产品经理求职方法指南:面试通关
  14. 常用计算机硬件品牌,介绍几个常用的电脑硬件检测工具
  15. [VBA]EXCEL同工作簿中多工作表合并VBA代码
  16. tensorflow.keras入门1
  17. 【解决】开始→运行框中的命令无法记录历史的问题
  18. php毕业设计 基于php+mysql电子书阅读系统毕业设计开题报告功能参考
  19. 如何在正文插入页眉页脚 要求奇偶页不一样
  20. 中科大算法第二次课堂测验前20个小时极限复习记录

热门文章

  1. 一场跨越时空的协奏:编钟、古琴与5G的“弦外之音”
  2. java--输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
  3. Java菜鸟逆袭之基础语法上
  4. Centos7模板机制作
  5. 2-2.基金的投资交易与结算
  6. Vue脚手架安装流程详解
  7. 游戏模型制作的注意事项 项目模型规范总结
  8. svchost.exe是什么进程
  9. 网页回到顶部 GoTop 按钮自动隐藏
  10. Microsoft Excel 教程:如何在 Excel 中使用条件格式?