androidmotorola-emdk

Get EMDK version programmatically on Android


How to get EMDK version of an Android device programmatically?

Since this question is not asked on Stackoverflow, I decided to ask and answer own question to make it easily findable later when needed.


Solution

  • There are 2 ways to get EMDK version programmatically.

    Using Android package manager:

    public String getEMDKVersion() throws PackageManager.NameNotFoundException {
        String emdkPackage = "com.symbol.emdk.emdkservice";
        PackageInfo pInfo = getPackageManager().getPackageInfo(emdkPackage, 0);
        String emdkVersion = pInfo.versionName;
        return emdkVersion
    }
    

    Using EMDK version manager:

    public String getEMDKVersion(EMDKManager emdkManager)
    {
        VersionManager versionManager = (VersionManager) emdkManager.getInstance(FEATURE_TYPE.VERSION);
        String emdkVersion = versionManager.getVersion(VersionManager.VERSION_TYPE.EMDK);
        return emdkVersion;
    }