PackageManager pm = context.getPackageManager(); PackageInfo pkgInfo = pm.getPackageArchiveInfo(/storage/A804-B928/dangs-factory.apk, PackageManager.GET_ACTIVITIES);现在使用这个函数去获取u盘里面apk的版本号,在拔掉u盘的时候会出现u盘不能卸载的情况
时间: 2024-02-26 07:59:01 浏览: 92
getApkInfo:获取apk版本号等相关信息
这个问题可能是因为你在获取完apk信息后没有正确释放相关资源,导致u盘被占用而无法卸载。你可以尝试在获取完PackageInfo后,调用PackageInfo的recycle方法释放相关资源,代码如下:
```
PackageManager pm = context.getPackageManager();
PackageInfo pkgInfo = pm.getPackageArchiveInfo(/storage/A804-B928/dangs-factory.apk, PackageManager.GET_ACTIVITIES);
pkgInfo.applicationInfo.sourceDir = /storage/A804-B928/dangs-factory.apk;
pkgInfo.applicationInfo.publicSourceDir = /storage/A804-B928/dangs-factory.apk;
pm.getApplicationLabel(pkgInfo.applicationInfo);
pm.getApplicationIcon(pkgInfo.applicationInfo);
pkgInfo.recycle();
```
另外,在读取u盘上的apk时,建议使用InputStream流来读取,避免文件被占用的情况。
阅读全文