按位与

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

你可能感兴趣的:(null)