private fun getInstalledUPIApps(context: Context): List<String> {
val upiList = mutableListOf<String>()
kotlin.runCatching {
val upiUriIntent = Intent().apply {
data = String.format("%s://%s", "upi", "pay").toUri()
}
val packageManager = context.packageManager
val resolveInfoList =
packageManager?.queryIntentActivities(
upiUriIntent,
PackageManager.MATCH_DEFAULT_ONLY
)
if (resolveInfoList != null) {
for (resolveInfo in resolveInfoList) {
upiList.add(resolveInfo.activityInfo.packageName)
}
}
}.getOrElse {
it.printStackTrace()
}
Log.i(TAG, "Installed UPI Apps: $upiList")
return upiList
}