【问题标题】:Is it possible to get application name when package is removed删除包时是否可以获得应用程序名称
【发布时间】:2014-08-28 12:21:12
【问题描述】:

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

   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;
    }

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

【问题讨论】:

标签: android android-intent broadcastreceiver


【解决方案1】:

你可以试试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 将是最好的)进行存储。

将来,如果有人仍然删除软件包,您将获得与该应用程序相关的所有信息。

我希望这会有所帮助。

【讨论】:

  • SQLite 不是最快的解决方案。最好实现共享偏好。
猜你喜欢
  • 1970-01-01
  • 2021-08-15
  • 1970-01-01
  • 2020-03-17
  • 1970-01-01
  • 1970-01-01
  • 2021-04-12
  • 2013-07-09
  • 1970-01-01
相关资源
最近更新 更多