String apkPath = apk.getAbsolutePath();
Log.i(getClass().getName(), "addApk(): apkPath = " + apkPath);
PackageInfo localPackageInfo = pm.getPackageArchiveInfo(apkPath, 0);
localPackageInfo.applicationInfo.sourceDir = apkPath;//! null point exception
apkのアイコン、名前、バージョンなどを取得できません。0ではなくマジックナンバー8192も試しましたが、どちらも機能しません。誰か提案がありますか?事前にThx!
コードを次のように変更しました。
PackageInfo pi = pm.getPackageArchiveInfo(apkPath, PackageManager.GET_ACTIVITIES);
if (pi != null) {
ApplicationInfo ai = pi.applicationInfo;
Drawable appIcon = pm.getApplicationIcon(ai);
String appName = pm.getApplicationLabel(ai).toString();
String appVersion = pi.versionName;
String pkgName = ai.packageName;
Log.i(getClass().getName(), "pkgName = " + pkgName + ", appName = " + appName + ", appVersion = " + appVersion);
adapter.add(new InstallItem(pkgName, appIcon, appName, appVersion));
}
次のような出力が得られました。
pkgName = com.chaozh.iReaderFree、appName = com.chaozh.iReaderFree、appVersion = 1.3.2.0 .. ..
ここに表示されているように、アプリ名を取得できず、そのアイコンは常にデフォルトの同じアイコンです。私は市場で他のインストーラーを疲れさせました、そしてそれらは素晴らしい働きをします、それで誰かが私にやり方を教えてくれますか?どうも。