android - Android从Activity获取包名
问题描述
我有来自第三方应用程序的活动名称
"com.example.packagename.MainActivity"
如何以编程方式检索此第三方应用程序的包名称?
PS:我什至不确定这是一个活动。这可能是一个错误的字符串。
解决方案
您可以从外部应用程序中找到包名称:
private String getExternalPackageName(String appname) {
PackageManager pm = thisActivity.getPackageManager();
List<ApplicationInfo> aList = pm.getInstalledApplications(PackageManager.GET_META_DATA);
String aName = "";
for (ApplicationInfo appi : aList) {
String n = (String)pm.getApplicationLabel(appi);
if (n.toUpperCase().contains(appname)) {
aName = appi.packageName;
}
}
return aName;
}
请务必使用 appname => 大写调用此函数
推荐阅读
- karate - 空手道 DSL:如何检查 JSON 对象是否是可选的,但如果该对象来自该对象内的键应该是正确的模式?
- react-native - 如何在react-native中查找元素是否存在于数组中
- ruby-on-rails - Pagy gem:UI 小部件的放置打破了分页
- c# - 如何在 C# 中设置 Excel 工作簿的可见性
- python - For 循环似乎比应有的变量添加了更多内容
- php - 将 PHP 5.6 升级到 7.2
- php - 从数组中添加唯一的随机值
- javascript - 解码字符串,以便我可以解析 JSON
- automation - 如何等待全名在量角器的文本框中输入
- ms-access - 从子窗体中的表中获取 CurrentRecord