【问题标题】:Hide apps from Launcher从启动器中隐藏应用程序
【发布时间】:2013-01-16 07:53:18
【问题描述】:

我想制作一个应用程序,在其中显示安装在我手机中的所有应用程序的列表,并带有复选框。当用户检查任何应用程序时,该应用程序应显示在启动器上。否则应用程序应该对 Launcher 隐藏。

【问题讨论】:

    标签: android android-launcher


    【解决方案1】:

    除非您也编写启动器应用程序,否则这是不可能的。其他启动器将简单地查看应用程序清单(使用包管理器)是否声明了启动器意图。

    如果启动器和设置都在同一个应用程序中,最好的解决方案是使用共享首选项文件:

    Set<String> blacklistedApps;
    
    //--add package names--
    blacklistedApps.put("com.useless.uselessapp");
    
    //--save as a preference--
    SharedPreferences.Editor.putStringSet("blacklisted",blacklistedApps).commit();
    
    //--read preference--
    blacklistedApps = SharedPreferences.getStringSet("blacklisted",new Set<String>());
    

    【讨论】:

    • @AKJha 在 android 中,一个应用程序(比如你的应用程序)根本无法改变其他应用程序的行为(比如用户设备上的某个启动器应用程序)。除非开发人员明确告知这两个应用程序可以一起工作(例如,您开发了设置应用程序,并且还开发了一个启动器应用程序来使用它)。
    • 没错,启动应用和设置应用都是我开发的。在设置应用中我们想要这个功能。
    • @AKJha 对我来说听起来很可疑。如果您开发了启动器,那么问题是什么?您可以显示或隐藏任何您想要的应用程序!请原谅我,但如果您不知道如何执行此操作,那么我很难相信您编写了启动器。
    • @Simon,这不是问题,但我想在用户检查的应用程序上设置标志,在启动器中我想检查该标志并显示。
    • 我认为@AKJha 的意思是能够在运行时显示和隐藏应用程序。即,一旦从“设置”中启用应用程序 - 它就会从启动器中消失。通过阅读清单 xml 可以很容易地静态完成一次 - 但如何在运行时完成它可能是他的问题。
    猜你喜欢
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 2014-02-05
    相关资源
    最近更新 更多