2015-07-20 142 views
-1

我想建立應用程序在哪裏;當「屏幕開啓」和「暫停秒錶」時「開始秒錶」當「屏幕關閉」

  • 「秒錶」將被激活的時候,手機屏幕打開
  • 「秒錶」將暫停屏幕當手機接近

  • 每次「秒錶」暫停,數據將被記錄[在一天的記錄]

  • 每24小時應用程序啓動時,所有的記錄都存儲

爲電子商務xample:

  • 在屏幕上:00:00:00
  • 關閉屏幕:3點10分○○秒[記錄數據]
  • 在屏幕上:3點10分○○秒
  • 關閉屏幕:8: 40:00 [數據記錄]

認爲這是一天(24小時)的記錄,並記錄當天的數據庫。

我現在面臨的問題;

  • 我不知道如何當屏幕打開時
  • 我不知道如何當屏幕關閉

需要幫助暫停「秒錶」開始「秒錶」 ..感謝

回答

0

你需要做到以下幾點:

創建一個BroadcastReceiver

public class ScreenStateReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     final String action = intent.getAction(); 
     if (Intent.ACTION_SCREEN_TURNED_OFF.equals(action)) { 
      // Screen is off 
     } else if (Intent.ACTION_USER_PRESENT.equals(action)) { 
      // Screen is on 
     } 
    } 
} 

註冊或者是通過代碼或在清單

IntentFilter filter = new IntentFilter(); 
filter.addAction(Intent.ACTION_SCREEN_OFF); 
filter.addAction(Intent.ACTION_SCREEN_OFF); 
filter.addAction(Intent.ACTION_USER_PRESENT); 

context.registerReceiver(mScreenReceiver, filter, null, null); 

,基本上你都設置做你的事。

+0

嗯。很好!但是如何插入一個秒錶代碼和你給出的代碼。 HM。 –

+0

當屏幕開啓時開始觀看,當屏幕關閉時將其停止 - 將其放入數據庫。 – MarkySmarky

0

您可以非常容易地實現它:

onResume()

你剛開始秒錶..

in onPause()您應該停止秒錶並在db或您的首選位置記錄數據。