2015-06-27 76 views
0

我正在開發鎖定應用程序。我試圖在屏幕超時後開始活動。但它不起作用,因爲我不知道如何檢查屏幕是否超時。 我使用此代碼來設置屏幕超時時間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之後開始活動,延遲一段時間。

回答

0

您可以通過BroadcastReceiver檢查屏幕是關閉還是打開,請查看下面的鏈接,您會發現它對您有用。

Android Screen Timeout

+0

這沒有幫助完整,因爲我從廣播接收機開始活動。沒有銷燬方法來銷燬screen_time_out可變值。 – mahesh

+0

@peter我想在scree_off開始活動,它是工作,當我用上面的代碼開始延遲活動時,任何時候當我使用其他應用程序時,活動開始。如果屏幕關閉一次,確保活動在幾秒鐘後開始。但如果用戶操作存在,我想停止該活動。 – mahesh

相關問題