android - 以编程方式更改自定义启动器中的应用程序列表

标签 android android-launcher

我正在开发这个管理员/用户锁屏应用程序。这个应用程序需要的是,如果管理员(由他的个人识别码/密码识别)试图解锁屏幕,它允许管理员访问手机上安装的所有应用程序,而其他用户(由他的个人识别码/密码识别) ) 尝试解锁屏幕,这使他们可以访问特定的应用程序。我已经为我的应用程序设置了锁屏和启动器。但我对如何为管理员和用户处理启动器感到困惑。

Android 不允许以编程方式切换启动器 Activity ,因此这个想法不合适。所以我发现我需要以编程方式刷新用户(非管理员)已安装应用程序的列表,以仅选择管理员授权的特定应用程序。所以我的问题是,如何在用户解锁屏幕后刷新已安装应用程序列表并仅选择将向用户显示的特定应用程序?

最佳答案

要获取所有已安装应用的列表,请使用 PackageManager:

PackageManager packageManager = getPackageManager();

List<PackageInfo> packs = packageManager.getInstalledPackages(0); 

for(int i=0; i < packs.size(); i++) {
PackageInfo p = packs.get(i);
ApplicationInfo a = p.applicationInfo;
// check if app is suitable for the user
}

关于android - 以编程方式更改自定义启动器中的应用程序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33713590/

相关文章:

android - 在布局中创建点

Android 支持的编解码器意味着软件编解码器?

android - 启动器图标(仅限旧版)显示白色背景图标 android studio 3.3

android - 应用程序启动器在 Android 中从头重新加载

android - 在启动器应用程序上向上和向下滑动手势

android - 使用 google redirect_uri_mismatch 登录 ionic 框架

android - Android,在指定时间段内重复操作

java - 如何在水平条形图中设置标签和值?

android - 如何更改 Android 应用程序的启动器文本

android - 在 Android 中以编程方式更改应用程序名称和图标?