提问者:小点点

我怎样才能在我的android应用程序中使用kotlin语言获得所有已安装的应用程序列表?


我正在写一个android应用程序,显示所有已安装的应用程序和应用程序的权限。 我正在写这个应用程序。 利用Kotlin。 有没有任何方法从包管理器获得所有安装的应用程序我没有使用Java。


共3个答案

匿名用户

  val mainIntent = Intent(Intent.ACTION_MAIN, null)
    mainIntent.addCategory(Intent.CATEGORY_LAUNCHER)
    val pkgAppsList = context.packageManager.queryIntentActivities(mainIntent, 0)

匿名用户

使用下面的代码段,您可以获得设备上安装的应用程序的详细信息

val packages: List<ApplicationInfo> =
    pm.getInstalledApplications(PackageManager.GET_META_DATA)

for (packageInfo in packages) {
    Log.d(
       "log",
        "Installed package :" + packageInfo.packageName
    )
    Log.d("log", "Source dir : " + packageInfo.sourceDir)
    Log.d(
       "log",
        "Launch Activity :" + pm.getLaunchIntentForPackage(packageInfo.packageName)
    )
}

这个问题在Java已经得到了回答。 我只是把它转换成IDE中的kotlin

代码->将Java文件转换为Kotlin文件

它工作得很好

匿名用户

您可以这样做:

val packages = packageManager.getInstalledApplications(PackageManager.GET_META_DATA)

for (packageInfo in packages) {
    Log.d(TAG, "Package name:" + packageInfo.packageName)
}

你也可以查看这篇文章,查看它在Android 11中的工作原理:

https://proandroiddev.com/how-to-get-users-installed-apps-in-android-11-b4a4d2754286