Код: Выделить всё
@ReactMethod
fun getApps(promise: Promise) {
try {
val pm = reactApplicationContext.packageManager
val pList = pm.getInstalledPackages(0)
val list = Arguments.createArray()
for (packageInfo in pList) {
val appInfo = Arguments.createMap()
appInfo.putString("packageName", packageInfo.packageName)
appInfo.putString("versionName", packageInfo.versionName)
appInfo.putDouble("versionCode", packageInfo.versionCode.toDouble())
appInfo.putDouble("firstInstallTime", packageInfo.firstInstallTime.toDouble())
appInfo.putDouble("lastUpdateTime", packageInfo.lastUpdateTime.toDouble())
appInfo.putString("appName", packageInfo?.applicationInfo.loadLabel(pm).toString().trim())
val icon = pm.getApplicationIcon(packageInfo?.applicationInfo)
appInfo.putString("icon", Utility.convert(icon))
val apkDir = packageInfo?.applicationInfo.publicSourceDir
appInfo.putString("apkDir", apkDir)
val file = File(apkDir)
val size = file.length().toDouble()
appInfo.putDouble("size", size)
list.pushMap(appInfo)
}
promise.resolve(list)
} catch (ex: Exception) {
promise.reject(ex)
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... ble-receiv