編輯:關於Android編程
/** * 獲取應用的包名 (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。
1.需求 無論是在.net還是java平台,合理的分層架構是最普遍的模塊化思路之一。 dll,ja
概述:MediaRecorder的狀態圖:代碼:開始錄制音頻:mRecorder = new MediaRecorder(); //Sets
由“老公”宋仲基代言的vivo x7手機經歷了多輪預熱和猜測,vivo新品發布會最終確認,主打高顏值和超強自拍的vivo X7/X7
锲而捨之,朽木不折;锲而不捨,金石可镂。——荀況今天學習了一下Service的用法就和大家一起來討論Android中Service的相關知識點,如