【问题标题】:"start stopwatch" when "screen on" & "pause stopwatch" when "screen off" [closed]“屏幕开启”时“启动秒表”和“屏幕关闭”时“暂停秒表”[关闭]
【发布时间】:2015-10-09 13:56:42
【问题描述】:

我想在哪里构建应用程序;

  • “秒表”将在手机屏幕打开时激活
  • “秒表”会在手机关闭时暂停屏幕

  • 每次“秒表”暂停时,都会记录数据[在一天的记录中]

  • 应用程序每启动 24 小时,就会存储所有记录

例如:

  • 屏幕上:00:00:00
  • 屏幕外:3:10:00 [数据记录]
  • 屏幕上:3:10:00
  • 屏幕外:8:40:00 [数据记录]

假设这是一天(24 小时)的记录,并且记录了当天的数据库。

我现在面临的问题;

  • 屏幕打开时我不知道如何启动“秒表”
  • 我不知道如何在屏幕关闭时暂停“秒表”

需要帮助..谢谢

【问题讨论】:

    标签: java android database timer stopwatch


    【解决方案1】:

    您需要执行以下操作:

    创建一个广播接收器

    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);
    

    基本上你都准备好做你的事了。

    【讨论】:

    • 嗯。好的 !但是如何使用您给出的代码插入秒表代码。嗯。
    • 您在屏幕打开时启动手表,在屏幕关闭时停止手表 - 您将其放入数据库中。
    【解决方案2】:

    您可以通过以下方式轻松实现:

    onResume() 你只需启动秒表..

    onPause(),您应该停止秒表并将数据记录在数据库中或您的首选位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-27
      • 2023-03-12
      • 1970-01-01
      相关资源
      最近更新 更多