我有下面的方法。它获取设备上的所有应用程序并按名称查找特定应用程序:Hangouts、Skype、Viber、WhatsApp。所有 4 个都安装在运行 Android 4.4.4 的摩托罗拉 Droid MAXX 上。和 5.0.2 的三星 SM-T530NU。
在这两种设备上,它都找不到环聊。任何想法为什么会这样?
输出:
com.skype.raider/.Main m=0x108000} Intent 过滤器:null
com.viber.voip/.WelcomeActivity m=0x108000} Intent 过滤器:null
com.whatsapp/.Main m=0x108000} Intent 过滤器:null
我删除了 if 条件并列出了所有应用程序并手动搜索(可以这么说)。我什么也没看到关于环聊,挂,嗬,...
public static List<ResolveInfo> getAllInstalledApps(Context context) {
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> appsList = context.getPackageManager().queryIntentActivities(mainIntent, 0);
for (ResolveInfo resolveInfo : appsList) {
String infoString = resolveInfo.toString();
if (infoString.contains("hangouts") ||
infoString.contains("skype") ||
infoString.contains("viber") ||
infoString.contains("whatsapp")) {
Log.i("getAllInstalledApps", resolveInfo.toString() + " Intent filter: " + resolveInfo.filter);
}
}
return appsList;
}