我正在制作一个共享应用程序和文件的Android应用程序,但我不知道如何在我的应用程序中获取设备上安装的其他应用程序的apk文件。
我知道应用程序安装在
/data/app/
package-id
/base.apk
有些应用程序有多个 apk 文件,我也想获取这些文件。
我查看了
PackageManager
类,发现这个方法 getPackageInfo
方法返回 PackageInfo
我发现
PackageInfo
有一个字段installLocation
我很兴奋,因为我以为这是apk文件的路径但我发现它实际上是一个int
而不是String
如何从中获取 apk 的路径作为字符串
installLocation
或者使用更好的方法获取 apk 的路径或仅获取内容。
看来我必须深入研究
PackageManager
但是我可以使用此方法获取应用程序的apk文件的路径
PackageManager pm = getPackageManager();
PackageInfo appinfo = pm.getPackageInfo("package-id", 0 );
String apk_path = appinfo.applicationInfo.sourceDir;
你可以用
来分裂String[] splits_path = appinfo.applicationInfo.splitSourceDirs;