Ich versuche, Informationen (Name und Symbol) von einer nicht installierten App zu erhalten. Grundsätzlich habe ich die APK-Datei, ich habe es noch nicht installiert, aber ich möchte seinen Namen und sein Symbol in einer Liste anzeigen.Anwendungsinfo einer nicht installierten App
Ich versuche, dies zu tun:
public void getReceivedApps() {
packageManager = getPackageManager();
System.out.println("TRANSFER-RECORDActivityThe received filePath is : " + receivedFilePath);
PackageInfo packageInfo = packageManager.getPackageArchiveInfo(receivedFilePath, PackageManager.GET_GIDS);
System.out.println("TRANSFER RECORD ACTIVYT : O TO STRING TO PACKAGE INFO : " + packageInfo.toString());
ApplicationInfo applicationInfo = packageInfo.applicationInfo;
Log.d(this.getClass().getName(), "packaginf0 : " + applicationInfo.toString());
String appName = applicationInfo.loadLabel(packageManager).toString();
System.out.println("TRANSFER RECORD ACTIVITY : THE APPNAME IS : " + appName);
Drawable icon = packageManager.getPackageArchiveInfo(receivedFilePath, PackageManager.GET_GIDS).applicationInfo.loadIcon(packageManager);
//then add it to a list.
}
das Problem und es mir eine Nullpointer im LoadIcon und loadLabel Anweisungen gibt.
Btw, die receivedFilePath
Zeichenfolge, die den Dateipfad zu dieser apk-Datei hat (die
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/"+getIntent().getStringExtra("receivedFilePath");)
Und das receivedFilePath als String gesendet, um den Namen der Datei (nicht die app)
Danke, es hat funktioniert! Anscheinend ist die archiveInfo nur für installierte Apps –