<manifest package="com.jiese.test" android:versionCode="1" android:versionName="1.0" > <application android:debuggable="false" > </application> </manifest>
/** * 获取应用的包名 (apk的包名,不是类所在的报名) * @param conext 程序中的Activity, Application的实例都可以 */ public static String getAppPackageName(Context context){ if(context != null){ return context.getPackageName(); } return ""; }
获取该属性的代码:
/** * 获取程序版本号 * @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; }
/** * 获取程序版本名称 * @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; }
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。
AndroidManifest 属性解析以及 代码动态获取属性值,布布扣,bubuko.com
AndroidManifest 属性解析以及 代码动态获取属性值
原文:http://blog.csdn.net/jiese1990/article/details/21747617