可以通过PackageManager类中的getPackageInfo()方法获取应用程序包的信息,其中包括应用程序包名和图标资源ID,代码示例:
public Drawable getAppIconByPackageName(Context context, String packName) {
try {
PackageManager pm = context.getPackageManager();
PackageInfo pi = pm.getPackageInfo(packName, 0);
ApplicationInfo ai = pi.applicationInfo;
return ai.loadIcon(pm);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return null;
}
其中,context为上下文对象,packName为包名。该方法返回一个Drawable对象,即对应应用程序的图标。
可以使用以下代码获取app图标:
- 导入相关类:
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
- 在Activity中添加代码:
PackageManager pm = getApplicationContext().getPackageManager();
Drawable icon = null;
try {
icon = pm.getApplicationIcon("com.example.myapplication"); // 替换成需要获取的APP的包名
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
ImageView imageView = findViewById(R.id.image_view); // 替换成显示图标的ImageView的ID
imageView.setImageDrawable(icon);
其中,“com.example.myapplication”需要替换成需要获取图标的APP的包名,imageView需要替换成显示图标的ImageView的ID。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/117360.html