java - 解锁手机时显示应用程序锁定图案对话框

标签 java android

我有 MainActivity,并在其 onResume 方法上调用模式锁定来创建和确认用户身份。当应用 Activity 时以及当手机处于 sleep 模式且用户解锁时,用户会来回访问并离开此 MainActivity。这两个场景都会调用 onRestart、onStart 和 onResume 方法,但我只想撤销解锁场景中的模式。

handlePattern()方法需要正确区分才能调用。

调用handlePattern方法时如何区分?

MainActivity.class

onCreate(){}

onResume(){
   //help needed to know that user is just visiting activity in app back and forth
     or came back after unlocking the screen.
   if(isPatternCallRequired){
        handlePattern()
   }
}

最佳答案

在 onStop() 方法调用中,您可以检查播放器是否处于 sleep 模式并缓存 boolean 值。

PowerManager pm = (PowerManager) 
_context.getSystemService(Context.POWER_SERVICE);
boolean isInSleepMode = !pm.isScreenOn();

检查构建版本

if( Build.VERSION.SDK_INT >= 20)
    // use isInteractive()
else
    // use isScreenOn()

在 onRestart 中,当您从 sleep 状态恢复时,它将被调用 - 根据缓存的值,您可以显示要解锁的模式。

使用完缓存值后,您可能需要重置它。

onResume 可能不是适合该调用的 API,因为即使您的 Activity 加载,它也会被调用。

根据您的评论编辑答案

关于java - 解锁手机时显示应用程序锁定图案对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45616675/

相关文章:

java - 检查 json 是否包含字符串值

android - 将相机移动到场景中的特定点(旋转/平移时)- OpenGL ES 2

java - 使用注解创建时,默认情况下如何命名Bean?

java - jbossstandalone.xml记录器类别到不同的文件

java - 如何获得列表的非包含子集?

java - 这个位图的inSampleSize计算方法有什么问题?内存不足

java - 从 Inventory 获取 ItemStack 时发生空指针异常

java - 如何使用 Hibernate 根据现有列填充集合

java - Eclipse - 在 Java 透视图中禁用 XML 文件的编译

android - 如何返回到导航图的根?