How to get the build/version number of your Android application?

前端 未结 30 2407
刺人心
刺人心 2020-11-22 11:00

I need to figure out how to get or make a build number for my Android application. I need the build number to display in the UI.

Do I have to do something with

30条回答
  •  天涯浪人
    2020-11-22 11:25

    If you're using PhoneGap, then create a custom PhoneGap plugin:

    Create a new class in your app's package:

    package com.Demo; //replace with your package name
    
    import org.json.JSONArray;
    
    import android.content.pm.PackageInfo;
    import android.content.pm.PackageManager;
    import android.content.pm.PackageManager.NameNotFoundException;
    
    import com.phonegap.api.Plugin;
    import com.phonegap.api.PluginResult;
    import com.phonegap.api.PluginResult.Status;
    
    public class PackageManagerPlugin extends Plugin {
    
        public final String ACTION_GET_VERSION_NAME = "GetVersionName";
    
        @Override
        public PluginResult execute(String action, JSONArray args, String callbackId) {
            PluginResult result = new PluginResult(Status.INVALID_ACTION);
            PackageManager packageManager = this.ctx.getPackageManager();
    
            if(action.equals(ACTION_GET_VERSION_NAME)) {
                try {
                    PackageInfo packageInfo = packageManager.getPackageInfo(
                                                  this.ctx.getPackageName(), 0);
                    result = new PluginResult(Status.OK, packageInfo.versionName);
                }
                catch (NameNotFoundException nnfe) {
                    result = new PluginResult(Status.ERROR, nnfe.getMessage());
                }
            }
    
            return result;
        }
    }
    

    In the plugins.xml, add the following line:

    
    

    In your deviceready event, add the following code:

    var PackageManagerPlugin = function() {
    
    };
    PackageManagerPlugin.prototype.getVersionName = function(successCallback, failureCallback) {
        return PhoneGap.exec(successCallback, failureCallback, 'PackageManagerPlugin', 'GetVersionName', []);
    };
    PhoneGap.addConstructor(function() {
        PhoneGap.addPlugin('packageManager', new PackageManagerPlugin());
    });
    

    Then, you can get the versionName attribute by doing:

    window.plugins.packageManager.getVersionName(
        function(versionName) {
            //do something with versionName
        },
        function(errorMessage) {
            //do something with errorMessage
        }
    );
    

    Derived from here and here.

提交回复
热议问题