在android中检查外部应用程序版本名

在android中检查外部应用程序版本名,android,Android,我想知道如何阅读已安装的apk版本。 例如,通过我的应用程序,我想知道我的手机上安装了什么版本的Skype 要阅读我的应用程序版本,请使用: PackageInfo pinfo = null; pinfo = getPackageManager().getPackageInfo(getPackageName(), 0); String versionName = pinfo.versionName; 当然,在try/catch的包围下。您需要找出设备上安装的skype的正确软件包名称 Pack

我想知道如何阅读已安装的apk版本。 例如,通过我的应用程序,我想知道我的手机上安装了什么版本的Skype

要阅读我的应用程序版本,请使用:

PackageInfo pinfo = null;
pinfo = getPackageManager().getPackageInfo(getPackageName(), 0);
String versionName = pinfo.versionName;

当然,在try/catch的包围下。

您需要找出设备上安装的skype的正确软件包名称

PackageInfo pinfo = null;
pinfo = getPackageManager().getPackageInfo("com.skype.android", 0);

//getVersionCode is Deprecated, instead use getLongVersionCode().
long verCode = pinfo.getLongVersionCode();
//getVersionName is Deprecated, instead use versionName
String verName = pinfo.versionName;
您可以通过以下方法调用获取所有包并查找名称:

List<PackageInfo> packages = getPackageManager().getInstalledPackages(PackageManager.GET_META_DATA);
List packages=getPackageManager().getInstalledPackages(PackageManager.GET_META_DATA);

您应该可以使用以下方法来完成此操作:

List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);

PackageInfo mypackage = <get required app from the list>;

String versionName = mypackage.versionName;
int versionCode = mypackage.versionCode;
List packages=getPackageManager().getInstalledPackages(0);
PackageInfo mypackage=;
字符串versionName=mypackage.versionName;
int versionCode=mypackage.versionCode;
看看。

这对我很有用:

PackageInfo pinfo = context.getPackageManager().getPackageInfo( "com.myapp", 0 );
String verName = pinfo.versionName;
int verCode = pinfo.versionCode;

我没有看到像pinfo.getVersionCode()或pinfo.getVersionName()这样的方法。请看我在底部的答案,了解工作代码。@Mobistry,看看你应该回顾2012年。