删除包时是否可以获取应用程序名称

时间:2014-08-27 10:23:39

标签: android android-intent broadcastreceiver

这是我的接收器类的一部分:

   Uri dataURI = intent.getData();
    String appPackage = (dataURI != null ? dataURI.getSchemeSpecificPart() : null);

    if (action.equals(Intent.ACTION_PACKAGE_ADDED)) {
        UpdateUserGamesService.ACTION_PACKAGE_ADDED;
    }
    else if (action.equals(Intent.ACTION_PACKAGE_REMOVED)) {
        UpdateUserGamesService.ACTION_PACKAGE_REMOVED;
    }

运作良好。有没有办法获取应用程序名称而不仅仅是包名?

1 个答案:

答案 0 :(得分:0)

您可以尝试ApplicationInfo课程:

您可以检索有关特定应用程序的信息。这对应于从AndroidManifest.xml标记收集的信息。

尝试使用此代码获取第三方应用程序名称:

 List<ApplicationInfo> apps = getPackageManager().getInstalledApplications(0);
    for (int i=0; i < apps.size(); i++)
    {
        if ((apps.get(i).flags & ApplicationInfo.FLAG_SYSTEM) == 1)
        {
              String appName =  (String) getPackageManager().getApplicationLabel(apps.get(i));
             Log.i("App Name", appName);
       }
    }  

现在你的问题是:

Is it possible to get application name when package is removed ?  

我建议获取所有应用程序名称并使用永久存储( SqLite最好)存储它。

将来如果任何人删除包仍然会有与该应用程序相关的所有信息。

我希望这会有所帮助。