前言
Android有些功能需要user unlocked之后才能使用,因此在启动前需要判断一下当前Android设备是否unlocked。
这简单记录一下,方便自己查阅。
正文
判断isUserUnlocked
启动某些功能时通过下面方式判断一下是否已经可以启动了。
public boolean isUserUnlocked() {
UserManager userManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
return userManager != null && userManager.isUserUnlocked();
}
监听UserUnlocked状态
存在此时还存于locked,也就是上面isUserUnlocked()返回false时了,需要监听系统Intent.ACTION_USER_UNLOCKED等准备好再次启动对应的功能。
IntentFilter intentFilter = new IntentFilter(Intent.ACTION_USER_UNLOCKED);
registerReceiver(mUnLockReceiver, intentFilter);
注意,广播注册需要在isUserUnlocked()判断之前,要不然存在时序问题。先监听广播,然后在判断是否unlocked。
private final BroadcastReceiver mUnLockReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if(null== intent || null==intent.getAction()){
return;
}
//这里处理需要的
}
};
当然最后记得注销广播咯,这里不附上。
参考文章
无
推荐访问 读书导航 简单的可以自定义的导航主页。
© 版权声明