public boolean isMonkeyGuy = true ;
public boolean wasItTheMonkey() {
if(!isMonkeyGuy)
{
return false ;
}
ActivityManager activityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
if (activityManager.isUserAMonkey()) {
Xlog.d(TAG,"You can't wipe my data because you are a monkey“
}
Xlog.d(TAG,"it was an user");
return false;
}
主要看这个方法引用
activityManager.isUserAMonkey()
实这个函数是用来判断手机的键盘事件,触摸屏事件,手势事件等一系列用户事件是不是在随机胡乱发生的,至于怎么判断,我现在还不怎么了解反正就是用来判断用户是否在胡乱搞手机。说得专业一点:也就是测试程序在负荷脉冲作用下的反应。其实这个函数返回true值的可能性是很少的,毕竟没有人会真的像只猴子那样乱整自己的手机(谷歌公司的程序员估计就是这么形容这些用户吧,貌似我就经常这样),除非你把手机扔给一只猴子,不过我想就算是猴子也很少能让这个函数返回true值
这个函数在官方给出的ApiDemos的DeviceAdminSample例子了也有使用的了
看到代码中的提示文本:
You can't wipe my data because you are a monkey!
你不能擦除我的数据,因为你是一只猴子