解决华为手机Android系统10.0不能隐藏桌面图标问题,全网唯一

news/2025/1/16 2:35:18/

       在Android系统10.0之后对应用隐藏图标做了严格的限制,Android官网的意思就是,除非是系统应用或者是不含Android四大组件并且没有申请任何权限的app才能隐藏图标。内心一阵独白:这特么的还不如直接说不让隐藏图标!

       作为Android开发人的我们,能答应么,绝bi不能答应,找办法,全网的搜,大部分都是一个解决方法,就是将图标想方设法弄成全透明的,这个办法有风险不说,实质并未隐藏,在桌面还在占着一个图标位置。怎么办,想别的办法吧,偶然的机会在国外一个技术论坛上发现一个叫jork的哥们儿分享了一个小app,目的是打开部分华为手机的隐藏桌面(华为手机再某款之后基本关闭了隐藏桌面这个功能)。如沐春风,照着这个方向,继续奋斗,终于搞出一个小程序,可以打开已经被厂商关闭的隐藏煮面的功能,不说废话了,直接上代码!

       核心内容在华为的EMUI系统中,有个存储各种开关功能的库,有对外提供的数据接口,库名字叫:content://settings/system,里面表3个字段很简单_id,name,value,id不用说,name是表示哪个功能,value是表示设置的值。我们打印一下都有那些数据,

String id=cursor.getString(cursor.getColumnIndex("_id"));
String name=cursor.getString(cursor.getColumnIndex("name"));
String value=cursor.getString(cursor.getColumnIndex("value"));
System.out.println("id="+id+"-----name="+name+"-----value="+value);

有很多数据,对应打开隐藏桌面,只有一个数据有用,hw_launcher_hide_apps,将这个字段值设置为true,代码如下

ContentValues var5 = new ContentValues(2);
var5.put("name", "hw_launcher_hide_apps");
var5.put("value", "true");
var0.getContentResolver().bulkInsert(Uri.parse("content://settings/system"), new ContentValues[]{var5});

 

这样,你的隐藏桌面图标的功能就又打开了,一般是两个手指从屏幕中间同时向外滑动,就会弹出这个界面

然后添加你要隐藏的应用就可以,再次回到桌面,桌面上已经没有我们的app的图标了,好了,这样就算曲线完工了。

特别提示

上面几段代码需要几个权限

<uses-permission android:name="android.permission.WRITE_SETTINGS" />

<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />

这两个权限在Android api22以上是无法生效的,所以,我们这段代码需要将 targetSdkVersion 设置为22,

完整代码如下,

1、工具类

public class HUAWEISDK22 {public static boolean setPrefDbValue(Context var0, String var1, String var2, String var3) {try {ContentValues var5 = new ContentValues(2);var5.put("name", var2);var5.put("value", var3);var0.getContentResolver().bulkInsert(Uri.parse("content://settings/system"), new ContentValues[]{var5});return true;} catch (Exception var4) {Log.e("setSystemDbValue", var4.getMessage());return false;}}public static void getDbValue(Context var0) {try {Cursor cursor =var0.getContentResolver().query(Uri.parse("content://settings/system"), null,null,null,null);cursor.getCount();while(cursor.moveToNext()) {String id=cursor.getString(cursor.getColumnIndex("_id"));String name=cursor.getString(cursor.getColumnIndex("name"));String value=cursor.getString(cursor.getColumnIndex("value"));System.out.println("id="+id+"-----name="+name+"-----value="+value);}cursor.close();} catch (Exception var4) {Log.e("setSystemDbValue", var4.getMessage());}}

2、调用实例

HUAWEISDK22.setPrefDbValue(WifiActivity.this.getApplicationContext(), "system", "hw_launcher_hide_apps", "true");

好了,今天就到了,欢迎各位大佬指正。

转载请注明原地址和作者,多谢!


http://www.ppmy.cn/news/300010.html

相关文章

手机桌面上的计算机怎么删除,怎样删除桌面图标?删除桌面图标方法教学

电脑的逐步普及使我们的生活便捷了许多&#xff0c;不仅在日常工作上帮了我们大忙&#xff0c;而且生活中也离不了它&#xff0c;虽然现在的智能手机的功能就已经十分齐全&#xff0c;但有些操作它还是无法完成&#xff0c;需要使用电脑。使用电脑时总有一些难以删除掉的图标使…

小米手机桌面图标排序

小米手机桌面图标排序有多种方法 长时间按桌面空白处&#xff0c;摇手机时可重排当前桌面的图标&#xff0c;但不能重排全部图标。 还有一种就是长时间按住一个图标&#xff0c;移动他。可移动位置&#xff0c;可移动到其它桌面。 其它方法&#xff0c;即是上面的变种 不介…

字节面试归来,黑暗3小时......

背景 杭州某中厂的软件测试开发&#xff0c;本科毕业5年&#xff0c;最近面试了PDD、小红书、字节等多个大厂。几乎都拿到了Offer&#xff0c;最终选择了字节2-2。以下是他的一些分享和总结。 从准备看机会开始&#xff0c;一直到拿到offer&#xff0c;经历了2个月的时间&…

Launcher中修改桌面壁纸、锁屏壁纸和手机图标

Launcher中增加主题的更换&#xff08;图标、壁纸和锁屏壁纸&#xff09;–2 1、整体思路 1.1、桌面长按弹出小控件&#xff0c;加上一个切换主题的按钮 1.2、在主题控制界面布局主题切换按钮 1.3、将准备好的图标资源加载进模块&#xff08;drawable&#xff09; 1.4、找…

H5页面在手机桌面显示图标【iOS版】

目录 参考文章制作mobileconfig文件使用系统自带命令签名 参考文章 手把手制作mobileconfig文件&#xff0c;在iphone上创建h5网页桌面图标为iOS的mobileconfig文件进行签名 制作mobileconfig文件 下载制作软件&#xff1a; 链接: https://pan.baidu.com/s/1P3pEKAesFlQF44b…

android删除界面工具,Android手机添加/删除桌面图标和插件(图文)

基于android系统的手机还是很人性化的&#xff0c;安装容易删除和卸载也不难&#xff0c;朴素的风格下对新手来说刚开始操作还是会有些不适应的。 工具/原料 android手机 方法/步骤 首先还解锁进入手机桌面&#xff1a; 进入桌面后按住需要删除的桌面图标&#xff0c;一般会有底…

设置下载安装 桌面_滚动图标——手机图标随着手势滚动,让你的桌面动起来...

滚动图标是一款非常酷炫、有趣的桌面图标美化软件。该软件玩的是就是图标,可以随意设置图标的数量,最多支持添加80个图标,让应用图标在桌面上可以随意移动。软件自带重力感应,当你将手机翻转过来的时候,所有图标也会跟着你的手机,向下掉落。软件支持动态壁纸功能,将其设…

苹果手机计算机怎么放桌面,苹果手机桌面图标怎么随意摆放 iPhone桌面图标随意摆放教程 (全文)...

苹果手机由于iOS系统相对封闭&#xff0c;很难像安卓手机那样&#xff0c;随意摆放桌面图标。如果需要随意摆放iPhone桌面图标也不是没有办法&#xff0c;比如可以通过越狱来实现。不过&#xff0c;今天小编为大家分享的iPhone桌面图标随意摆放教程&#xff0c;相对还更简单&am…