【问题标题】:How can I get the application's icon from the package name?如何从包名中获取应用程序的图标?
【发布时间】:2013-08-01 04:54:55
【问题描述】:

我已经尝试了堆栈溢出的各种解决方案,但没有运气。我想要什么。

  1. 我知道不同应用程序的包名。
  2. 我想从这些包名中获取应用程序图标。
  3. 在图像视图中显示这些图标。

例如,我有一个包名com.example.testnotification。如何获取此应用程序图标并将其显示在 ImageView 中?

【问题讨论】:

    标签: android


    【解决方案1】:

    试试这个:

    try
    {
        Drawable icon = getContext().getPackageManager().getApplicationIcon("com.example.testnotification");
        imageView.setImageDrawable(icon);
    }
    catch (PackageManager.NameNotFoundException e)
    {
        e.printStackTrace();
    }
    

    【讨论】:

      【解决方案2】:

      如果您想从软件包名称中获取任何已安装应用程序的图标(图片),只需复制并粘贴此代码即可。它会起作用的:

      try
      {
          Drawable d = getPackageManager().getApplicationIcon("com.AdhamiPiranJhandukhel.com");
          my_imageView.setBackgroundDrawable(d);
      }
      catch (PackageManager.NameNotFoundException e)
      {
          return;
      }
      

      【讨论】:

        【解决方案3】:

        这也有效:

        try
        {
            Drawable d = getPackageManager().getApplicationIcon(getApplicationInfo());
            my_imageView.setBackgroundDrawable(d);
        }
        catch (PackageManager.NameNotFoundException e)
        {
            return;
        }
        

        【讨论】:

          【解决方案4】:
          try
          {
              Drawable drawable = getPackageManager()
                      .getApplicationIcon("com.whatsapp");
              imageView.setImageDrawable(drawable);
          }
          catch (PackageManager.NameNotFoundException e)
          {
              e.printStackTrace();
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多