ApplicationInfo是android.content.pm
包下的一个实体类,用于封装应用的信息,flags是其中的一个成员变量public int flags = 0;
用于保存应用的标志信息。
用法:以系统的ApplicationInfo为例
判断是否系统应用 :
if((flags & ApplicationInfo.FLAG_SYSTEM) == ApplicationInfo.FLAG_SYSTEM )
解读:ApplicationInfo.FLAG_SYSTEM 是二进制1左移0位,还是1,flags & 1 若等于1的话,则flags的二进制末位必须是1,
因此只有flags是奇数,对应的应用才会是系统应用。其他的属性用法类似。
在Android源码中,包括一些比较规范的源码中,通常会出现flag(我理解我标志位)。
可以这么认为:
原文:https://www.cnblogs.com/yangjj08/p/11656648.html