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

來源:互聯網
上載者:User

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。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.