做产品留存很重要,做变现小白很重要, 如何让自己的app一直处于活跃状态,这里另辟蹊径,在手机息屏的时候创建一个和系统图标一样的快捷方式。然后将自己的应用的图标隐藏。下面我们来看具体步骤:

1.如何监听手机息屏.

一般产品集成工具类时都会有相关类似的方法,

public class ScreenStatusChangeReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {if (BuildConfig.DEBUG) LogUtil.d("ScreenStatusChangeReceiver", "onreceive");String action = intent.getAction();if(Intent.ACTION_SCREEN_ON.equals(action)){if (BuildConfig.DEBUG) {LogUtil.d("ScreenStatusChangeReceiver", "OnScreenOn");}EventBus.getDefault().post(new OnScreenOn());}else if(Intent.ACTION_SCREEN_OFF.equals(action)){if(BuildConfig.DEBUG) {LogUtil.d("ScreenStatusChangeReceiver", "OnScreenOff");}EventBus.getDefault().post(new OnScreenOff());}else if (Intent.ACTION_USER_PRESENT.equals(action)) {if(BuildConfig.DEBUG) {LogUtil.d("ScreenStatusChangeReceiver", "OnUserPresent");}EventBus.getDefault().post(new OnUserPresent());}}
}

在应用程序启动时动态注册该广播:

ScreenStatusChangeReceiver mScreenReceiver = new ScreenStatusChangeReceiver();
IntentFilter screenStateFilter = new IntentFilter();
screenStateFilter.setPriority(90000);
screenStateFilter.addAction(Intent.ACTION_SCREEN_ON);
screenStateFilter.addAction(Intent.ACTION_SCREEN_OFF);
screenStateFilter.addAction(Intent.ACTION_USER_PRESENT);
ApplicationEx.getInstance().registerReceiver(mScreenReceiver, screenStateFilter);

最后通过EventBus 将该事件发送出来,

2.如何创建快捷方式

因为快捷方式国内众多ROM厂商定制各不相同,版本api也有区别,这里我将我封装好的工具类,仅供大家参考,里面包含了8.0快捷方式的处理,Build.MODEL为SM-G9508的处理,以及快捷方式是否创建成功的判断,欢迎大家下载。

3.如何隐藏桌面图标?如何恢复?如何判断桌面隐藏图标是否成功?

隐藏桌面图标:

public static void magicHide() {try {Context context = ApplicationEx.getInstance();PackageManager pm = context.getPackageManager();ComponentName cn = new ComponentName(context, SplashActivity.class);pm.setComponentEnabledSetting(cn, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);} catch (Exception e) {LogUtil.error(e);}}

恢复桌面图标:

public static void magicShow() {try {Context context = ApplicationEx.getInstance();PackageManager pm = context.getPackageManager();ComponentName cn = new ComponentName(context, SplashActivity.class);pm.setComponentEnabledSetting(cn, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);} catch (Exception e) {LogUtil.error(e);}}

判断是否隐藏成功:

public static int getMagicStats() {try {PackageManager pm = ApplicationEx.getInstance().getPackageManager();ComponentName cn = new ComponentName(ApplicationEx.getInstance(), SplashActivity.class);int enableStatus = pm.getComponentEnabledSetting(cn);if (BuildConfig.DEBUG) {Log.d("magic_feature", "getMagicStats:" + (enableStatus == PackageManager.COMPONENT_ENABLED_STATE_ENABLED ? "enabled" : enableStatus == PackageManager.COMPONENT_ENABLED_STATE_DISABLED ? "disable" : ("unknown(" + enableStatus + ")")));}return enableStatus;} catch (Exception e) {e.printStackTrace();}return PackageManager.COMPONENT_ENABLED_STATE_DEFAULT;}

所有的准备工作完成了,这一套保活,用户卸载不掉的思路,就是在息屏时候,创建一个和系统图标一样的快捷方式,将系统图标隐藏,快捷方式的Activity extends SplashActivity, 用户只能通过快捷方式进入产品内部,对于小白来说,卸载快捷方式只有移除选项,卸载应用程序只能在设置中处理。这点已经足够了,还需指出的时是隐藏图标的方法会延迟几秒钟生效,隐藏时若当前Activity是我们产品的会明显的看到界面缩放回去,所以在息屏的时候触发,这样就把这些不足掩藏过去。

附上创建快捷方式工具类下载地址:https://download.csdn.net/download/ljyly525/10650634

android隐藏桌面图标相关推荐

  1. C#隐藏桌面图标和任务栏

    最近因为项目需要需要实现桌面图标和任务状态栏的隐藏功能,实现的方式很多,比如修改注册表值,调用windows API函数等.经过一番的查阅,这个功能暂时实现了,或许不是很好的方法,但是我预期的效果达到 ...

  2. 怎么把桌面计算机隐藏文件,怎么隐藏桌面文件夹名称?隐藏桌面图标下的文字的详细教程...

    怎么隐藏桌面文件夹名称?桌面图标一多就会显得很凌乱,特别有的软件名称很长,那么有没有什么方法可以让桌面看起来很清爽呢?当然是有,去掉桌面应用的名称不就简洁清爽了?下面就教大家不利用第三方软件的情况下, ...

  3. 创建android studio桌面图标

    创建android studio桌面图标  1. 用root权限创建/usr/share/applications/studio.desktop  然后我们要在这个文件里面下如下代码: [Deskto ...

  4. upupoo为什么服务器维护中,upupoo怎么隐藏桌面图标 只需两步轻松隐藏

    多克斯文件是微软Office2007所开始使用的扩展名,比医生文件所占用的空间更小,但使用低版本的Office 2003无法直接打开多克斯文件,那么我们要如何打开多克斯文件呢? 用了upupoo动态壁 ...

  5. windows7隐藏桌面计算机,教你win7小技巧之隐藏桌面图标

    电脑现已成为我们工作.生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到教你win7小技巧之隐藏桌面图标的问题,如果我们遇到了教你win7小技巧之隐藏桌面图标的情况,该怎么处理怎么才能解决教你 ...

  6. windows7隐藏桌面计算机,win7小技巧之隐藏桌面图标

    小编这里为大家带来这篇关于win7系统小技巧之隐藏桌面图标的教程,很多用户的电脑在使用一段时间之后,屏幕上就放满了各种各样的文件,让人眼花缭乱,那么我们怎样将这些图标暂时的隐藏起来,让桌面变得更整洁呢 ...

  7. mac隐藏桌面图标快捷键_如何在Mac OS X桌面上隐藏图标

    mac隐藏桌面图标快捷键 Icons on the desktop make things look really cluttered, and Mac OS X has always embrace ...

  8. android7 隐藏图标,华为nova7怎么隐藏桌面图标?华为nova7隐藏桌面图标教程

    华为nova7隐藏桌面图标教程 打开手机的[安全]设置界面 点击进入[应用锁], 将应用右侧开关打开. 也可以进入设置搜索[隐私空间],根据页面提示开启隐私空间, 然后在隐私空间下,安装你需要隐藏的应 ...

  9. alt+Q 一键显示/隐藏桌面图标与任务栏

    alt+Q 一键显示/隐藏桌面图标与任务栏 官网下载ahk ahk脚本加入启动文件夹(win+r,shell:startup) desktop.ahk !q:: HideOrShowDesktopIc ...

  10. 职称计算机隐藏桌面图标,全国职称计算机考试专用教材――中文WindowsXP操作系统...

    全国职称计算机考试专用教材――中文WindowsXP操作系统 语音 编辑 锁定 讨论 上传视频 <全国职称计算机考试专用教材――中文WindowsXP操作系统>是2014年人民邮电出版社出 ...

最新文章

  1. PowerShell使用
  2. UVa11882,Biggest Number
  3. d3.js 教程 模仿echarts柱状图
  4. MyBatis学习笔记(四) 注解
  5. hibernate---id生成策略
  6. 设计模式18_责任链
  7. 【转】暴露问题是对项目验收最起码的尊重!
  8. mysql数据库最多列_mysql多列索引和最左前缀
  9. 自学python能找到工作吗-25岁从零开始学习python还能找到工作吗?
  10. 独家!337页大数据与建模核心资料,免费领取!
  11. iOS 应用状态详解
  12. 用 pyecharts 制作数据可视化大屏之数据地图
  13. 鼠标设置按键功能方式(例如设置鼠标侧键为复制粘贴功能)
  14. 元气骑士如何获得机器人成就皮肤_《元气骑士》听过浮游炮大礼包吗?有利于快速获取机器人的皮肤!...
  15. Jquery制作手风琴 -- 案例
  16. 专题 | Innovus 2020: 创新,永无止境
  17. 2020Kali开机配置(中文输入法等)
  18. Node 之父:Node 失误太多无力回天,Deno 前景明朗
  19. win7所有视频格式都不显示缩略图的解决方法
  20. python是黑客吗_为什么黑客都用python

热门文章

  1. 2022-基于树木形态和有限状态机的森林火灾蔓延实时三维可视化
  2. 11.1.4 子线程与主线程通信实例
  3. 【行业看点】量子时代的技术机遇
  4. 10大程序员必逛网站,良心推荐,建议收藏!
  5. 应聘时计算机水平怎么说,计算机能力怎么填_计算机水平怎么写_简历
  6. MySQL锁篇-⾏级锁
  7. 初学unity(简单场景制作)
  8. php拆分excel,PHPExcel合并与拆分单元格的方法
  9. 智商决定能力和情商决定本事的分析
  10. 路由器的路由选择协议详解