Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 如何獲取Android項目的VersionName的getPackageManager()

如何獲取Android項目的VersionName的getPackageManager()

編輯:關於Android編程

代碼筆記:

/**
     * 得到應用層序的版本名稱
     * 
     * @return
     */
    private String getVersionName() {

        // 用於管理安裝的apk和未安裝的apk
        PackageManager packageManager = getPackageManager();

        try {
            // 得到apk的功能清單文件:為了防止出錯直接使用getPackageName()方法獲得包名
            // packageManager.getPackageInfo("com.xuliugen.mobilesafe", 0);
            PackageInfo packageInfo = packageManager.getPackageInfo(getPackageName(), 0);

            //返回版本名稱
            return packageInfo.versionName;
        } catch (NameNotFoundException e) {
            e.printStackTrace();
            return "";
        }
    }

getPackageManager()API介紹:

常用方法:

public abstract PackageManager getPackageManager()  
功能:獲得一個PackageManger對象  
public abstract Drawable getApplicationIcon(String packageName)
參數: packageName 包名
功能:返回給定包名的圖標,否則返回null
public abstract ApplicationInfo   getApplicationInfo(String packageName, int flags)
參數:
  packagename 包名
  flags 該ApplicationInfo是此flags標記,通常可以直接賦予常數0即可
功能:返回該ApplicationInfo對象
public abstract List  getInstalledApplications(int flags)
參數:
  flag為一般為GET_UNINSTALLED_PACKAGES,那麼此時會返回所有ApplicationInfo。我們可以對ApplicationInfo
  的flags過濾,得到我們需要的。
功能:返回給定條件的所有PackageInfo
public abstract List  getInstalledPackages(int flags) 
參數如上
功能:返回給定條件的所有PackageInfo
public abstractResolveInfo  resolveActivity(Intent intent, int flags)
參數:  
  intent 查尋條件,Activity所配置的action和category
  flags: MATCH_DEFAULT_ONLY    :Category必須帶有CATEGORY_DEFAULT的Activity,才匹配
  GET_INTENT_FILTERS         :匹配Intent條件即可
  GET_RESOLVED_FILTER    :匹配Intent條件即可
功能 :返回給定條件的ResolveInfo對象(本質上是Activity)
public abstract  List  queryIntentActivities(Intent intent, int flags)
參數同上
功能 :返回給定條件的所有ResolveInfo對象(本質上是Activity),集合對象
public abstract ResolveInfo  resolveService(Intent intent, int flags)
參數同上
功能 :返回給定條件的ResolveInfo對象(本質上是Service)
public abstract List queryIntentServices(Intent intent, int flags)
參數同上
功能 :返回給定條件的所有ResolveInfo對象(本質上是Service),集合對象

PackageInfo類  

說明:手動獲取AndroidManifest.xml文件的信息 。
常用字段:

public String    packageName                   包名

public ActivityInfo[]     activities                   所有節點信息

public ApplicationInfo applicationInfo       節點信息,只有一個

public ActivityInfo[]    receivers                  所有節點信息,多個

public ServiceInfo[]    services                  所有節點信息 ,多個

PackageItemInfo類

說明: AndroidManifest.xml文件中所有節點的基類,提供了這些節點的基本信息:label、icon、 meta-data。它並不

直接使用,而是由子類繼承然後調用相應方法。

ApplicationInfo類 繼承自 PackageItemInfo

說明:獲取一個特定引用程序中節點的信息。

字段說明:flags字段: FLAG_SYSTEM 系統應用程序、FLAG_EXTERNAL_STORAGE 表示該應用安裝在sdcard中

常用方法繼承至PackageItemInfo類中的loadIcon()和loadLabel()

ActivityInfo類 繼承自 PackageItemInfo
  

說明: 獲得應用程序中或者 節點的信息 。我們可以通過它來獲取我們設置的任何屬性,包括
theme 、launchMode、launchmode等

常用方法繼承至PackageItemInfo類中的loadIcon()和loadLabel()

ServiceInfo 類

說明: 同ActivityInfo類似 ,同樣繼承自 PackageItemInfo,只不過它表示的是節點信息。
ResolveInfo類

說明:根據節點來獲取其上一層目錄的信息,通常是、、節點信息。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved