在Android中以编程方式从启动器中删除应用程序

时间:2009-06-09 23:01:29

标签: java android android-manifest

有没有办法在运行时从主启动器中删除活动?我的意思是从其属性或类似内容中删除Intent.CATEGORY_LAUNCHER

2 个答案:

答案 0 :(得分:11)

您可以通过PackageManager#setComponentEnabledSetting()禁用某个组件,这样可以将其从启动器中删除。

答案 1 :(得分:0)

实际上从 android 10+ 开始,隐藏应用程序启动器图标非常困难。我已经使用了代码 -

               val packageManager = packageManager

                **// disable the app launcher icon**
                val componentName = ComponentName(
                    this,
                    MainActivity::class.java
                )
                packageManager.setComponentEnabledSetting(
                    componentName,
                    PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                    PackageManager.DONT_KILL_APP
                )

               **// enable the app launcher icon**
                val componentName = ComponentName(
                    this,
                    MainActivity::class.java
                )

                packageManager.setComponentEnabledSetting(
                    componentName,
                    PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
                    PackageManager.DONT_KILL_APP
                )

当禁用代码运行时,它只会禁用应用启动器图标而不是隐藏。但是你不能启动它,点击启动器图标会打开应用信息设置页面。

另一种方式 - 这是另一种方式,制作应用程序并将其作为设备所有者模式运行。然后我们就可以隐藏/删除应用启动器图标。

访问链接 - https://www.sisik.eu/blog/android/dev-admin/uninstalling-and-disabling-apps