zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android系统信息获取 之二:版本信息获取

Android系统 获取 信息 之二 版本信息
2023-09-14 09:16:12 时间

获取当前应用的版本号:

[java]  view plain  copy
  1. private String getAppVersionName() throws Exception  
  2.   {  
  3.           // 获取packagemanager的实例  
  4.           PackageManager packageManager = getPackageManager();  
  5.           // getPackageName()是你当前类的包名,0代表是获取版本信息  
  6.           PackageInfo packInfo = packageManager.getPackageInfo(getPackageName(),PackageManager.GET_ACTIVITIES);  
  7.           String version = packInfo.versionName;  
  8.           return version;  
  9.   }  

 获取对应的服务的版本信息:

[java]  view plain  copy
  1. private String getServiceVersionName() throws Exception  
  2.    {  
  3.            // 获取packagemanager的实例  
  4.            PackageManager packageManager = getPackageManager();  
  5.            // getPackageName()是你当前类的包名,0代表是获取版本信息  
  6.            PackageInfo packInfo = packageManager.getPackageInfo(getPackageName(),PackageManager. GET_SERVICES);  
  7.            String version = packInfo.versionName;  
  8.            return version;  
  9.    }  

可以看到这两个获取信息的差别在于getPackageInfo的第二个参数,查看Android系统中PackageManager.Java的代码,就会发现除了GET_ACTIVITIES, GET_SERVICES之外还有GET_RECEIVERSGET_PROVIDERSGET_GIDS等属性,由此可知要想获取这些属性的信息,均可通过上边的方法获取。

获取当前系统的版本号:

[java]  view plain  copy
  1. textView.setText("Product Model: " + android.os.Build.MODEL + ","   
  2.                + android.os.Build.VERSION.SDK + ","   
  3.                + android.os.Build.VERSION.RELEASE);   

Android系统Build的属性均在Build.java这个文件中。

其中系统版本的代码可在其中查到,如下:

[java]  view plain  copy
  1. /*   
  2.  *  
  3.  * Build.VERSION_CODES 
  4.     (0x00000001)        Android 1.0            BASE 
  5.     (0x00000002)        Android 1.1            BASE_1_1 
  6.     (0x00000003)        Android 1.5            CUPCAKE 
  7.     (0x00000004)        Android 1.6            DONUT 
  8.     (0x00000005)        Android 2.0            ECLAIR 
  9.     (0x00000006)        Android 2.0.1          ECLAIR_0_1 
  10.     (0x00000007)        Android 2.1            ECLAIR_MR1 
  11.     (0x00000008)        Android 2.2            FROYO 
  12.     (0x00000009)        Android 2.3            GINGERBREAD 
  13.     (0x0000000a)        Android 2.3.3          GINGERBREAD_MR1 
  14.     (0x0000000b)        Android 3.0            HONEYCOMB 
  15.     (0x0000000c)        Android 3.1            HONEYCOMB_MR1 
  16.     (0x0000000d)        Android 3.2            HONEYCOMB_MR2 
  17.     (0x0000000e)        Android 4.0            ICE_CREAM_SANDWICH  
  18.     (0x0000000f)    Android 4.0.3          ICE_CREAM_SANDWICH_MR4 
  19.  
  20. */  

 /*获取当前系统的android版本号*/

[java]  view plain  copy
  1. int currentapiVersion=android.os.Build.VERSION.SDK_INT;  

通过build.java文件获取其他信息,可参考下面代码:

[java]  view plain  copy
  1. String phoneInfo = "Product: " + android.os.Build.PRODUCT;   
  2.    phoneInfo += ", CPU_ABI: " + android.os.Build.CPU_ABI;   
  3.    phoneInfo += ", TAGS: " + android.os.Build.TAGS;   
  4.    phoneInfo+=",VERSION_CODES.BASE:"+ android.os.Build.VERSION_CODES.BASE;   
  5.    phoneInfo += ", MODEL: " + android.os.Build.MODEL;   
  6.    phoneInfo += ", SDK: " + android.os.Build.VERSION.SDK;   
  7.    phoneInfo += ", VERSION.RELEASE: " + android.os.Build.VERSION.RELEASE;   
  8.    phoneInfo += ", DEVICE: " + android.os.Build.DEVICE;   
  9.    phoneInfo += ", DISPLAY: " + android.os.Build.DISPLAY;   
  10.    phoneInfo += ", BRAND: " + android.os.Build.BRAND;   
  11.    phoneInfo += ", BOARD: " + android.os.Build.BOARD;   
  12.    phoneInfo += ", FINGERPRINT: " + android.os.Build.FINGERPRINT;   
  13.    phoneInfo += ", ID: " + android.os.Build.ID;   
  14.    phoneInfo += ", MANUFACTURER: " + android.os.Build.MANUFACTURER;   
  15.    phoneInfo += ", USER: " + android.os.Build.USER;   
  16.   
  17.    // Toast.makeText(this, phoneInfo, Toast.LENGTH_LONG).show();   
  18.    TextView mTextView = (TextView) findViewById(R.id.main_phoneinfo);   
  19.    mTextView.setText(phoneInfo);