PackageManager:列出可以发送通知的所有应用程序

时间:2014-04-19 16:17:00

标签: android notifications package-managers

大家好,首先我很抱歉我的英语不好,也许是我的新手问题,我想在自定义列表视图中显示所有可以发送通知的应用程序(即Facebook,Twitter,游戏等等)。所以我使用PackageManager来安装所有应用程序,我正在考虑使用意图“过滤器”:

        mContext = context;
    Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
    mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);

    pm = mContext.getPackageManager();
    List<ResolveInfo> appList = pm.queryIntentActivities(mainIntent, 0);

CATEGORY_LAUNCHER包含许多永远不会发送通知的应用(设置,相机,动态壁纸)。我怎么解决它?它的类别是正确的方式吗?或者我要检查所有已启用的应用程序权限,并仅选择具有“通知权限”的应用程序?如果是,那该许可是什么?

1 个答案:

答案 0 :(得分:-1)

您可以使用

读取应用程序使用的权限
getPackageManager().getInstalledPackages(PackageManager.GET_PERMISSIONS);

然后您可以通过检查应用程序是否使用发送通知所需的权限来过滤应用程序