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

时间:2015-11-14 21:29:17

标签: android android-launcher

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

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

1 个答案:

答案 0 :(得分:1)

要获取所有已安装应用的列表,请使用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
}