android隐藏桌面图标
做产品留存很重要,做变现小白很重要, 如何让自己的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隐藏桌面图标相关推荐
- C#隐藏桌面图标和任务栏
最近因为项目需要需要实现桌面图标和任务状态栏的隐藏功能,实现的方式很多,比如修改注册表值,调用windows API函数等.经过一番的查阅,这个功能暂时实现了,或许不是很好的方法,但是我预期的效果达到 ...
- 怎么把桌面计算机隐藏文件,怎么隐藏桌面文件夹名称?隐藏桌面图标下的文字的详细教程...
怎么隐藏桌面文件夹名称?桌面图标一多就会显得很凌乱,特别有的软件名称很长,那么有没有什么方法可以让桌面看起来很清爽呢?当然是有,去掉桌面应用的名称不就简洁清爽了?下面就教大家不利用第三方软件的情况下, ...
- 创建android studio桌面图标
创建android studio桌面图标 1. 用root权限创建/usr/share/applications/studio.desktop 然后我们要在这个文件里面下如下代码: [Deskto ...
- upupoo为什么服务器维护中,upupoo怎么隐藏桌面图标 只需两步轻松隐藏
多克斯文件是微软Office2007所开始使用的扩展名,比医生文件所占用的空间更小,但使用低版本的Office 2003无法直接打开多克斯文件,那么我们要如何打开多克斯文件呢? 用了upupoo动态壁 ...
- windows7隐藏桌面计算机,教你win7小技巧之隐藏桌面图标
电脑现已成为我们工作.生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到教你win7小技巧之隐藏桌面图标的问题,如果我们遇到了教你win7小技巧之隐藏桌面图标的情况,该怎么处理怎么才能解决教你 ...
- windows7隐藏桌面计算机,win7小技巧之隐藏桌面图标
小编这里为大家带来这篇关于win7系统小技巧之隐藏桌面图标的教程,很多用户的电脑在使用一段时间之后,屏幕上就放满了各种各样的文件,让人眼花缭乱,那么我们怎样将这些图标暂时的隐藏起来,让桌面变得更整洁呢 ...
- mac隐藏桌面图标快捷键_如何在Mac OS X桌面上隐藏图标
mac隐藏桌面图标快捷键 Icons on the desktop make things look really cluttered, and Mac OS X has always embrace ...
- android7 隐藏图标,华为nova7怎么隐藏桌面图标?华为nova7隐藏桌面图标教程
华为nova7隐藏桌面图标教程 打开手机的[安全]设置界面 点击进入[应用锁], 将应用右侧开关打开. 也可以进入设置搜索[隐私空间],根据页面提示开启隐私空间, 然后在隐私空间下,安装你需要隐藏的应 ...
- alt+Q 一键显示/隐藏桌面图标与任务栏
alt+Q 一键显示/隐藏桌面图标与任务栏 官网下载ahk ahk脚本加入启动文件夹(win+r,shell:startup) desktop.ahk !q:: HideOrShowDesktopIc ...
- 职称计算机隐藏桌面图标,全国职称计算机考试专用教材――中文WindowsXP操作系统...
全国职称计算机考试专用教材――中文WindowsXP操作系统 语音 编辑 锁定 讨论 上传视频 <全国职称计算机考试专用教材――中文WindowsXP操作系统>是2014年人民邮电出版社出 ...
最新文章
- PowerShell使用
- UVa11882,Biggest Number
- d3.js 教程 模仿echarts柱状图
- MyBatis学习笔记(四) 注解
- hibernate---id生成策略
- 设计模式18_责任链
- 【转】暴露问题是对项目验收最起码的尊重!
- mysql数据库最多列_mysql多列索引和最左前缀
- 自学python能找到工作吗-25岁从零开始学习python还能找到工作吗?
- 独家!337页大数据与建模核心资料,免费领取!
- iOS 应用状态详解
- 用 pyecharts 制作数据可视化大屏之数据地图
- 鼠标设置按键功能方式(例如设置鼠标侧键为复制粘贴功能)
- 元气骑士如何获得机器人成就皮肤_《元气骑士》听过浮游炮大礼包吗?有利于快速获取机器人的皮肤!...
- Jquery制作手风琴 -- 案例
- 专题 | Innovus 2020: 创新,永无止境
- 2020Kali开机配置(中文输入法等)
- Node 之父:Node 失误太多无力回天,Deno 前景明朗
- win7所有视频格式都不显示缩略图的解决方法
- python是黑客吗_为什么黑客都用python