Получить информацию о приложении из названия пакета
У меня есть имя пакета приложения. Есть ли способ получить значок, название этого приложения?
пример имени пакета: com.example.name
Ответы
Ответ 1
Попробуйте что-то вроде:
try {
ApplicationInfo app = this.getPackageManager().getApplicationInfo("com.example.name", 0);
Drawable icon = packageManager.getApplicationIcon(app);
String name = packageManager.getApplicationLabel(app);
return icon;
} catch (NameNotFoundException e) {
Toast toast = Toast.makeText(this, "error in getting icon", Toast.LENGTH_SHORT);
toast.show();
e.printStackTrace();
}
Ответ 2
Drawable icon =getPackageManager().getApplicationIcon("ur_package");
Strign label = context.getPackageManager().getApplicationLabel("ur_package");
Ответ 3
String PackgeNameApp = "com.test.icon";
String name="NULL";
try
{
ApplicationInfo app = this.getPackageManager().getApplicationInfo(PackgeNameApp, 0);
Drawable icon = getPackageManager().getApplicationIcon(app);
name = getPackageManager().getApplicationLabel(app).toString();
}
catch (PackageManager.NameNotFoundException e)
{
//
}
Ответ 4
если вы хотите получить установленное имя пакета приложения, этот код будет вам полезен.
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> pkgAppsList = MainActivity.this.getPackageManager().queryIntentActivities( mainIntent, 0);
Log.i("InstalledAPK",pkgAppsList.toString());
for(int i=0;i<pkgAppsList.size();i++){
list.add(pkgAppsList.get(i).toString());
Log.e("PACKAGENAME",""+MainActivity.this.getPackageManager().getInstalledPackages(i).get(i).packageName);
}
ArrayAdapter<String> adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,list);
listView.setAdapter(adapter);