2015-07-20 98 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或您的首选位置记录数据。