public static boolean isDebuggable(Context context) {
try {
PackageInfo pInfo = context.getPackageManager().getPackageInfo(
context.getPackageName(), PackageManager.GET_META_DATA);
if (pInfo != null) {
if ( 0 != (pInfo.applicationInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE)) {
return true;
}
}
} catch (NameNotFoundException e) {
Log.w("isDebuggable()", Log.getStackTraceString(e));
}
return false;
}
之前一直对于按位与&和按位或|不是很了解,今天在看程序的时候有看到了这样的用法
if ( 0 != (pInfo.applicationInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE)) {
return true;
}
如果他们的每一位都相同的话返回1,否则是0