Java Android-如何通过包名获取任何应用程序版本
我想在我自己的android应用程序中做一些事情,在此之前我需要检查一些系统应用程序的版本。(系统和第三方应用程序) 如何在Android Studio中实现这一点 在ADB中,我可以通过以下方式转储它:Java Android-如何通过包名获取任何应用程序版本,java,android,Java,Android,我想在我自己的android应用程序中做一些事情,在此之前我需要检查一些系统应用程序的版本。(系统和第三方应用程序) 如何在Android Studio中实现这一点 在ADB中,我可以通过以下方式转储它: adb shell dumpsys package com.samsung.android.calendar | grep versionName 但是如何在代码中实现呢 注意:这不是重复的问题,评论中提供的任何解决方案都不适合我。我想检查任何应用程序版本,而不是我的应用程序问题已解决,ge
adb shell dumpsys package com.samsung.android.calendar | grep versionName
但是如何在代码中实现呢
注意:这不是重复的问题,评论中提供的任何解决方案都不适合我。我想检查任何应用程序版本,而不是我的应用程序问题已解决,getPackageManager因缺少上下文而无法工作:
try {
Context context = InstrumentationRegistry.getContext();
PackageManager pm = context.getPackageManager();
PackageInfo pInfo = pm.getPackageInfo("com.google.android.apps.photos", 0);
String version = pInfo.versionName;
Log.d(TAG, "checkVersion.DEBUG: App version: "+version);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
提示:PackageManager是否可能重复要搜索的内容?已经回答了。一个答案解释了如何获取另一个应用程序的版本。您遇到了什么错误?我们可以使用此shell dumpsys包packgeNamecan获取versionName和versionCode您可以编辑您的问题。将来你们可以起来投票