设备无法识别 Telegram 应用程序

问题描述

我使用标准函数来确定是否安装了应用程序:

private fun isTelegramAvailable(): Boolean {
    val pm = applicationContext.packageManager
    return try {
        pm.getPackageInfo("org.telegram.messenger",PackageManager.GET_ACTIVITIES)
        true
    } catch (e: PackageManager.NameNotFoundException) {
        false
    }
}

并且一切正常运行了很长时间,直到用户使用三星 s20 ultra (Android 11) 手机出现。此功能已停止正常工作,应用程序在设备上看不到 Telegram。

有人遇到过类似的吗?也许这个手机型号有某种可以控制的限制性设置?如有任何帮助,我将不胜感激!

解决方法

感谢@CommonsWare 和@MartinZeitler!

在文章 package-visibility 之后,我将以下代码添加到应用程序清单

+----------+---------+
| Currency | Balance |
+----------+---------+
| GBP      | 799181  |
+----------+---------+
| JPY      | -411087 |
+----------+---------+
| EUR      | 141234  |
+----------+---------+
| USD      | 2650988 |
+----------+---------+

+---------------+--------+--------+--------+--------+
| Currency      | GBP    | JPY    | EUR    | USD    |
+---------------+--------+--------+--------+--------+
| Rate (Credit) | .00196 | .05320 | -.0003 | 0.0    |
+---------------+--------+--------+--------+--------+
| Rate (Debit)  | .01    | .00865 | -.0076 | .00028 |
+---------------+--------+--------+--------+--------+

(TelegramX 的第二个)