报警应用程序不基于系统时间

时间:2018-04-27 09:06:18

标签: java android time alarmmanager

我的应用是这样的, 用户以分钟为单位记下时间,例如40。 然后应用程序将在40分钟后拨打警报。无论应用程序处于活动状态还是在后台运行它都无关紧要。

我的问题是这个,因为我使用的方法是System.currentTimeMillis();然后它使我的应用程序依赖于系统时间。因此,如果我在设置中更改系统时间,那么我的闹钟应用程序将不会在设定的时间内被调用,它将会改变。

例如:如果时间是上午10:00,我设置闹钟在20分钟后被调用,那么它将在上午10点20分被调用。但是,如果我在设置闹钟后进入设置并将系统时间更改为上午9:00,那么我的应用程序将从现在起100分钟后调用。 我如何防止这种情况发生,以便在设置闹钟时间和系统时间之后,将在这些分钟后调用闹钟。

我已经检查了这个Date and time change listener in Android?并且它不一样,因为它对我不起作用,也没有完全理解它。

这是我的代码:

<section>
    <div class="container">
        <div clss="boxwrap">
        <div class="dogBlock">
            <a href="#"><img src="Assets/image_1.jpg"></a>
      <div class="infoBlock">
        <h2>Sharpe</h2>
        <p>Lorem ipsum dolor sit amet, sir dolor em.</p>
        <a href="#">Meet Sharpe</a>
      </div>
        </div>

        <div class="dogBlock">
            <a href="#"><img src="Assets/image_2.jpg"></a>
      <div class="infoBlock">
        <h2>Bonnie, Mya + Roo</h2>
        <p>Lorem ipsum dolor sit amet, sir dolor em.</p>
        <a href="#">Meet the sisters</a>
      </div>
        </div>

        <div class="dogBlock">
            <a href="#"><img src="Assets/image_3.jpg"></a>
      <div class="infoBlock">
        <h2>Willow</h2>
        <p>Lorem ipsum dolor sit amet, sir dolor em.</p>
        <a href="#">Meet Willow</a>
      </div>
        </div>
      <div class="clear"></div>
    </div>
    </div>
</section>

.container {
    max-width: 1200px;
    overflow: hidden;
    margin: 0 auto;
}
.boxwrap {
  margin-left: -15px;
  margin-right: -15px;
}


.dogBlock {
    width:calc(33.333% - 30px);
    float: left;
    margin-top: 80px;
  margin-left: 15px;
  margin-right: 15px;
  box-shadow: 0 5px 10px 1px rgba(0, 0, 0, 0.2);
  border-radius: 6px;
}

.infoBlock {
    color:#000;
    background-color:rgba(236,236,236,1.00);
    padding: 20px;
    margin-bottom: 280px;
}
.clear {
  clear: both;
}

0 个答案:

没有答案