小智 31
if (file.getPath().endsWith(".apk")) {
String filePath = file.getPath();
PackageInfo packageInfo = context.getPackageManager().getPackageArchiveInfo(filePath, PackageManager.GET_ACTIVITIES);
if(packageInfo != null) {
ApplicationInfo appInfo = packageInfo.applicationInfo;
if (Build.VERSION.SDK_INT >= 8) {
appInfo.sourceDir = filePath;
appInfo.publicSourceDir = filePath;
}
Drawable icon = appInfo.loadIcon(context.getPackageManager());
bmpIcon = ((BitmapDrawable) icon).getBitmap();
}
}
Run Code Online (Sandbox Code Playgroud)
最重要的是 appInfo.publicSourceDir = filePath;
这是一个错误.请参阅http://code.google.com/p/android/issues/detail?id=9151
如果packageInfo != null未正确解析.apk,则进行空检查.
| 归档时间: |
|
| 查看次数: |
7805 次 |
| 最近记录: |