0

我有下面的方法。它获取设备上的所有应用程序并按名称查找特定应用程序: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;
    }
4

1 回答 1

2

Hangouts 的应用包名称实际上是com.google.android.talk. 你应该寻找那个。查找包名称的提示是转到产品页面的 URL。它是idURL 中查询的一部分。例如,Google Hangouts 的 URL 是:

https://play.google.com/store/apps/details?id=com.google.android.talk

于 2016-12-30T16:01:37.937 回答