我正在开发一款安卓应用程序。我想要隐藏我的安卓设备中的任何应用程序图标(如whatsapp等),并且我希望通过按下某些数字(例如456#)来启动我的应用程序。是否有办法实现这一点?
我知道如何隐藏我的应用程序图标,但是我想搜索如何隐藏其他应用程序图标。
请帮忙,提前致谢。
我知道如何隐藏我的应用程序图标,但是我想搜索如何隐藏其他应用程序图标。
请帮忙,提前致谢。
您在一个问题中提出了许多问题。让我筛选一下。
我知道如何隐藏我的应用程序图标,但我想搜索如何隐藏其他应用程序图标。
基本上,您只需要传递该应用程序的包名称和启动器活动。
PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName("YOUR_PACKAGE_NAME", "YOUR_PACKAGE_NAME.LAUNCHER_ACTIVITY_NAME");
p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
final PackageManager pm = getPackageManager();
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List < ResolveInfo > appList = pm.queryIntentActivities(mainIntent, 0);
Collections.sort(appList, new ResolveInfo.DisplayNameComparator(pm));
for (ResolveInfo temp: appList) {
Log.v("my logs", "package and activity name = " + temp.activityInfo.packageName + " " + temp.activityInfo.name);
}
隐藏或取消隐藏任何应用程序的最简单方法是通过 cmd,您只需输入一个命令和缓冲区即可完成。
* for disable in Kitkat
String cmd = "pm disable" + packageName; Shell.SU.run(cmd);
在Kitkat中启用
String cmd = "pm enable " + packageName;
Shell.SU.run(cmd);
String cmd = "pm hide " + packageName;
Shell.SU.run(cmd);
在lollipop中取消隐藏
String cmd = "pm unhide " + packageName;
Shell.SU.run(cmd);