I have a list of apps installed on the device. Now I want to show a list of 10-20 (the number of applications should always be different) random applications, how can I do this in Kotlin?
My code:
private fun onGetApps() {
val pm: PackageManager = requireContext().packageManager
val apps: List<PackageInfo> = requireContext().packageManager.getInstalledPackages(PackageManager.GET_META_DATA)
val res: ArrayList<Apps> = ArrayList<Apps>()
for (i in apps.indices) {
if (pm.getLaunchIntentForPackage (apps[i].packageName) != null)
{
val p = apps[i]
val appInfo = Apps()
appInfo.appName = p.applicationInfo.loadLabel(requireContext().packageManager).toString()
appInfo.appImage = p.applicationInfo.loadIcon(requireContext().packageManager)
res.add(appInfo)
}
mAdapter.setupApps(res)
mAdapter.notifyDataSetChanged()
}
}