Social Icons

2010年12月27日 星期一

如何得知程式是跑在"Debug"模式下

有時候,會需要知道程式現在是跑在debug模式還是release模式下,
像是MapView的Key在Debug和Release的模式下,是需要傳不同的key值才可以的。
下面就是使用方法:

通常如果是debug模式,我們會在AndroidManifest.xml檔案中加入這樣的設定:
...

...

而下面這段程式碼,就可以使用在程式中,來決定目前是不是在debug模式下了。
而我通常會將它寫成static function,方便在各個view中來使用。
public static boolean isDebugMode(Context ctx) {
  PackageInfo packageInfo;
  try {
   packageInfo = ctx.getPackageManager().getPackageInfo(ctx.getPackageName(), PackageManager.GET_SIGNATURES);
   int flags = packageInfo.applicationInfo.flags; 
   if ((flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0) {
       return true;
   }
  } catch (NameNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return false;
 }