700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Android隐藏应用桌面图标/动态修改桌面图标

Android隐藏应用桌面图标/动态修改桌面图标

时间:2023-11-01 07:42:01

相关推荐

Android隐藏应用桌面图标/动态修改桌面图标

Android隐藏应用桌面图标/动态修改桌面图标

应用启动后点击隐藏

注意:在Android11只要在mainifest有权限申请,就不会隐藏

private void hide() {PackageManager packageManager = getPackageManager();packageManager.setComponentEnabledSetting(getComponentName(),PONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP);}

此方式可隐藏桌面图标,即Luncher里看不到应用icon和label,并且后台也看不到,只能手动停止 或卸载,手机管家可清理,启动后进程正常运行,后台日志正常输出

安装后直接隐藏

manifest中配置

<uses-featureandroid:name="android.software.leanback"android:required="true" />

启动页的下配置

<category android:name="android.intent.category.LEANBACK_LAUNCHER"/>

完整配置如下示例:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="/apk/res/android"package="com.example.luncherdemo"><uses-featureandroid:name="android.software.leanback"android:required="true" /><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.LuncherDemo"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LEANBACK_LAUNCHER"/><!--<category android:name="android.intent.category.LAUNCHER" />--></intent-filter></activity></application></manifest>

此种配置,应用安装后能看到页面,后台也可见,桌面无图标,但是杀死进程后无法再次手动启动app

动态修改应用图标 icon 和 lable

1、清单文件增加权限

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

2、下增加一个

<activity-aliasandroid:icon="@mipmap/alias_icon"//新的iconandroid:label="@string/app_name2"//新的labelandroid:name="changeAfterActivity" //和MainAcitivity同路径android:targetActivity=".MainActivity" //targetActivity 和启动页是同一个activityandroid:enabled="false"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity-alias>

完整代码:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="/apk/res/android"package="com.example.luncherdemo"><!-- <uses-feature--><!-- android:name="android.software.leanback"--><!-- android:required="true" />--><uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.LuncherDemo"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><!--<category android:name="android.intent.category.LEANBACK_LAUNCHER"/>--><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activity-aliasandroid:icon="@drawable/ic_home_light"android:label="@string/app_name2"android:name="changeAfter"android:targetActivity=".MainActivity"android:enabled="false"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity-alias></application></manifest>

//3调用private void chaneIcon() {PackageManager packageManager = getPackageManager();//显示别名的设置packageManager.setComponentEnabledSetting(new ComponentName(this, "com.example.luncherdemo.changeAfter"),PONENT_ENABLED_STATE_ENABLED ,PackageManager.DONT_KILL_APP);//disable 掉原来的设置packageManager.setComponentEnabledSetting(new ComponentName(this, "com.example.luncherdemo.MainActivity"),PONENT_ENABLED_STATE_DISABLED ,PackageManager.DONT_KILL_APP);}

这样就能动态修改 lable和icon了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。