如何在屏幕超时后延迟几秒钟开始活动。

时间:2015-06-27 11:49:51

标签: android

我正在开发锁定应用程序。我试图在屏幕超时后开始活动。但它不起作用,因为我不知道如何检查屏幕是否超时。 我正在使用此代码设置屏幕超时时间android.provider.Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, time);。我可以使用此代码if(android.provider.Settings.System.SCREEN_OFF_TIMEOUT != null)检查屏幕超时值是否为空。

我尝试过这段代码,但效果并不理想。我也试过下面的代码,但它在固定的时间工作。

`if (intent.getAction().equals("android.intent.action.SCREEN_OFF"))
{ delay = 5000;
  v = sharedpreferences.getInt("lock1", 0);
  if(android.provider.Settings.System.SCREEN_OFF_TIMEOUT != null){
  if(v == 1)
      {
        final Intent localIntent2 = new Intent(context, shake_or_swipe.class);
        localIntent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        localIntent2.putExtra("pin_password", s1);
        new Intent("android.intent.action.MAIN");

        //.addCategory("android.intent.category.HOME");
   /*       handler = new Handler();
     delayRunnable = new Runnable() {

          @Override
          public void run() {
        context.startActivity(localIntent2);
        }
     };      
     handler.postDelayed(delayRunnable, delay);
     */
      }
 }`

此代码在特定时间内工作,如5秒。当屏幕打开时,上面的活动不应该开始。但是当屏幕再次关闭时,此活动应该在每五分钟后开始。

任何人都可以告诉我如何在screen_time_out之后开始延迟一秒钟的活动。?

1 个答案:

答案 0 :(得分:0)

您可以通过BroadcastReceiver检查屏幕是否已关闭或打开,请查看以下链接,您会发现它对您有用。

Android Screen Timeout