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

Android 以编程方式更改自定义启动器中的应用程序列表,android,android-launcher,Android,Android Launcher,我正在开发这个管理员/用户锁屏应用程序。此应用程序需要的是,如果管理员(通过其pin/密码识别)尝试解锁屏幕,则管理员可以访问手机上安装的所有应用程序,而其他用户(通过其pin/密码识别)尝试解锁屏幕,则管理员可以访问特定应用程序。我已经为我的应用程序安装了锁屏和启动器。但是我被如何为管理员和用户处理启动器的问题绊住了 Android不允许以编程方式切换启动器活动,因此这种想法是不合适的。因此,我发现我需要以编程方式刷新已安装应用程序的列表,以便用户(非管理员)只选择管理员授权的特定应用程序。因

我正在开发这个管理员/用户锁屏应用程序。此应用程序需要的是,如果管理员(通过其pin/密码识别)尝试解锁屏幕,则管理员可以访问手机上安装的所有应用程序,而其他用户(通过其pin/密码识别)尝试解锁屏幕,则管理员可以访问特定应用程序。我已经为我的应用程序安装了锁屏和启动器。但是我被如何为管理员和用户处理启动器的问题绊住了


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

要获取所有已安装应用程序的列表,请使用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
}
PackageManager-PackageManager=getPackageManager();
列表包=packageManager.getInstalledPackages(0);
对于(int i=0;i
在用户解锁屏幕并仅选择将显示给用户的特定应用程序后,如何刷新已安装应用程序的列表?无论是管理员还是其他用户,我如何向我的启动器发送通知?