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
本文介绍了一种通过按位与操作判断Android应用是否处于调试模式的方法。该方法使用了ApplicationInfo.FLAG_DEBUGGABLE标志,并解释了按位与操作符的工作原理。
1747

被折叠的 条评论
为什么被折叠?



