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

2022-09-03 02:38:12

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


答案 1

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


答案 2

实际上,从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


推荐