17

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

4

2 回答 2

12

您可以通过 禁用组件PackageManager#setComponentEnabledSetting(),这将具有将其从启动器中删除的效果。

于 2009-06-11T12:26:51.947 回答
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

于 2021-02-24T08:46:59.743 回答