Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> AndroidManifest 屬性解析以及 代碼動態獲取屬性值

AndroidManifest 屬性解析以及 代碼動態獲取屬性值

編輯:關於Android編程

AndroidManifest.xml文件部分屬性配置解析,以及如何在代碼中獲取指定配置值。




    
      


1)manifest-->package
應用的包名,每一個應用的唯一標識;每個應用都必須給定該值,系統通過該值來區別和查找不同的應用。
獲取該屬性的代碼:

	/**
	 * 獲取應用的包名 (apk的包名,不是類所在的報名)
	 * @param conext 程序中的Activity, Application的實例都可以
	 */
	public static String getAppPackageName(Context context){
		if(context != null){
			return context.getPackageName();
		}
		return "";
	}



2)manifest-->versionCode
當前app的版本號,用於app的升級,versionCode小的apk可以升級為versionCode大的apk,但是versionCode小的apk無法覆蓋versionCode大的安裝,必須先卸載。

獲取該屬性的代碼:

	/**
	 * 獲取程序版本號
	 * @param conext 程序中的Activity, Application的實例都可以
	 * @return -1獲取失敗
	 */
	public static int getAppVersionCode(Context context) {  
	    try{  
	        PackageManager pm = context.getPackageManager();  
	        PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);  
	        return pi.versionCode;
	    } catch (Exception e) {
	    	e.printStackTrace();
	    	GoogleAnalyticsTool.getInstance().sendException(1, e);
	    }  
	    return -1;  
	}



3)manifest-->versionName
當前app的版本名
獲取該屬性的代碼:

	/**
	 * 獲取程序版本名稱
	 * @param conext 程序中的Activity, Application的實例都可以
	 */
	public static String getAppVersionName(Context context){  
	    String versionName = "";  
	    try{  
	        PackageManager pm = context.getPackageManager();  
	        PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);  
	        versionName = pi.versionName;  
	    } catch (Exception e) {
	    	e.printStackTrace();
	    	GoogleAnalyticsTool.getInstance().sendException(1, e);
	    }  
	    return versionName;  
	}




4)manifest-->application-->debuggable
是否開啟debug模式;該屬性可以不設置。
true:為debug 模式,可以通過工具調試該應用,可以打斷點。

false:為非debug模式,不可以通過調試工具調試應用,打的斷點無效。

獲取該屬性的代碼:

	/**
	 * 獲取是否為debug mode
	 * @param conext 程序中的Activity, Application的實例都可以
	 */
	public static boolean isDebugMode(Context context){
		if(context == null){
			Log.e("Utils::isDebugMode", "context is null");
			return false;
		}
		ApplicationInfo info = context.getApplicationInfo();
		return (0!=((info.flags) & ApplicationInfo.FLAG_DEBUGGABLE));
	}


轉載請注明出處,jiese1990。

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