`
丁志宏
  • 浏览: 14625 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

翻译 android.app.AlarmManager 类

阅读更多

<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } H1 { margin-bottom: 0.08in } H1.western { font-family: "Times New Roman", serif } H1.cjk { font-family: "DejaVu Sans" } H1.ctl { font-family: "Lohit Hindi" } TD P { margin-bottom: 0in } H2 { margin-bottom: 0.08in } H2.ctl { font-family: "Lohit Hindi" } TH P { margin-bottom: 0in } A:link { so-language: zxx } CODE.cjk { font-family: "DejaVu Sans", monospace } -->

public class

AlarmManager

extends Object

java.lang.Object

   ↳

android.app.AlarmManager


类概括

Class Overview

 

本类提供了许可连接系统警服务。这里允许你预定你的应用程序在未来的某个点运行。当警报响起,已经注册到系统监听的Intent自动启动目标应用程序如果这个应用没有准备运行。在设备睡眠时已经注册的警报被保存(如果在此期间响起则能够执行唤醒设备操作),但是如果设备关闭或重启则警报将被清除。

This class provides access to the system alarm services. These allow you to schedule your application to be run at some point in the future. When an alarm goes off, the Intent that had been registered for it is broadcast by the system, automatically starting the target application if it is not already running. Registered alarms are retained while the device is asleep (and can optionally wake the device up if they go off during that time), but will be cleared if it is turned off and rebooted.

 

这个警报管理只要在警报接收者的onReceive()方法中执行就可获得一个CPU唤醒锁。这将保证电话直到你结束掌握的这个广播不会休眠。一旦OnReceive()返回,这个警报管理就释放这个唤醒锁。这意味着电话在你的onReceive()方法完成后就会在一些情况下休眠。如果你的警报监听者调用Context.startService(),电话在请求服务被执行前将会休眠的情况是可能发生的。为了预防这中情况发生,你的BroadcastReceiverService将需要执行一个分开的唤醒锁策略以确保电话在服务成为可用前继续运行。

The Alarm Manager holds a CPU wake lock as long as the alarm receiver's onReceive() method is executing. This guarantees that the phone will not sleep until you have finished handling the broadcast. Once onReceive() returns, the Alarm Manager releases this wake lock. This means that the phone will in some cases sleep as soon as your onReceive() method completes. If your alarm receiver called Context.startService(), it is possible that the phone will sleep before the requested service is launched. To prevent this, your BroadcastReceiver and Service will need to implement a separate wake lock policy to ensure that the phone continues running until the service becomes available.

 

注意:这个警报管理是预期这种情况当你要运行你的应用程序代码在一个特殊的时候,即使你的应用程序不是当前运行的。进行常规定时操作(响铃,超时设定,等)这是更简单和更多更高效的用法。

Note: The Alarm Manager is intended for cases where you want to have your application code run at a specific time, even if your application is not currently running. For normal timing operations (ticks, timeouts, etc) it is easier and much more efficient to use Handler.

 

你不能直接实例这个类;要通过Context.getSystemService(Context.ALARM_SERVICE)替换,取回他

You do not instantiate this class directly; instead, retrieve it through Context.getSystemService(Context.ALARM_SERVICE).

 

Summary

Constants

int

ELAPSED_REALTIME

警报时在SystemClock.elapsedRealtime()(时间来自boot,包括休眠)

Alarm time in SystemClock.elapsedRealtime() (time since boot, including sleep).

 

int

ELAPSED_REALTIME_WAKEUP

警报时在SystemClock.elapsedRealtime()(时间来自boot,包括休眠),当警报发生将唤醒设备。

Alarm time in SystemClock.elapsedRealtime() (time since boot, including sleep), which will wake up the device when it goes off.

 

long

INTERVAL_DAY

long

INTERVAL_FIFTEEN_MINUTES

通过setInexactRepeating(int, long, long, PendingIntent)有效的不精确的重复间隔被认可

Available inexact recurrence intervals recognized by setInexactRepeating(int, long, long, PendingIntent)

long

INTERVAL_HALF_DAY

long

INTERVAL_HALF_HOUR

long

INTERVAL_HOUR

int

RTC

警报时在System.currentTimeMillis()(UTC隔开时钟)

Alarm time in System.currentTimeMillis() (wall clock time in UTC).

 

int

RTC_WAKEUP

警报时在System.currentTimeMillis()(UTC隔开时钟),当警报发生将唤醒设备。

Alarm time in System.currentTimeMillis() (wall clock time in UTC), which will wake up the device when it goes off.

Public Methods

void

cancel(PendingIntent operation)

移除任何匹配Intent的警报。

Remove any alarms with a matching Intent.

 

void

set(int type, long triggerAtTime, PendingIntent operation)

预定一个警报。

Schedule an alarm.

 

 

void

setInexactRepeating(int type, long triggerAtTime, long interval, PendingIntent operation)

设定一个重复警报带有不精确的触发时间要件;例如,一个警报是每小时重复,但不一定在每个小时的开始重复。

Schedule a repeating alarm that has inexact trigger time requirements; for example, an alarm that repeats every hour, but not necessarily at the top of every hour.

 

void

setRepeating(int type, long triggerAtTime, long interval, PendingIntent operation)

预定一个重复警报。

Schedule a repeating alarm.

 

void

setTime(long millis)

设置系统隔开时间。

Set the system wall clock time.

 

void

setTimeZone(String timeZone)

设置系统默认时区。

Set the system default time zone.

 

分享到:
评论

相关推荐

    全局定时器 AlarmManager

    alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); ``` 4. **选择合适的触发类型**:AlarmManager提供了多种触发类型,如`ELAPSED_REALTIME`(基于系统启动时间)、`RTC`...

    Xamarin.Android通过闹钟(AlarmManager)实现定时提供的功能

    在Xamarin.Android中,你需要引入`Android.App.AlarmManager`和`Android.Content.Intent`等命名空间。`AlarmManager`对象可以从系统的`Context`获取,例如`GetSystemService(Context.AlarmService)`。然后,你可以...

    android安卓闹铃服务AlarmManager的使用

    `AlarmManager`位于`android.app`包下,它提供了多种调度策略,例如精确到毫秒的计时器,以及根据电池状态和系统负载进行优化的定时器。这些特性使得`AlarmManager`成为Android中处理定时任务的首选工具。 ### 二、...

    Android_AlarmManager

    `AlarmManager`是Android SDK中的一个类,位于`android.app`包下。它的主要功能是为应用提供定时触发事件的能力,支持一次性或周期性的定时任务。通过设置不同的策略,`AlarmManager`可以精确或粗略地控制触发时间,...

    CommonsWare.The.Busy.Coders.Guide.to.Android.Development.Version.8.2.2017

    It will help you more quickly climb the Android learning curve, so you can create the “killer app” you’ve dreamed of…or perhaps just a quick-and-dirty application for you and your friends. ...

    android 设置闹钟及通知示例

    简单说一下这次demo内容,首先做...import android.app.AlarmManager; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.app.TimePickerD

    Android AlarmManager Demo

    在不同的Android版本中,`AlarmManager` 的行为可能会有所不同,尤其是在Android 6.0(API级别23)之后引入的Doze模式和App Standby模式,这可能导致定时任务的执行不准确。因此,理解和正确使用`AlarmManager` 是...

    android 开发的定时闹钟

    am.set(AlarmManager.RTC_WAKEUP, time, pen); // 其他可用的方法还包括: // am.setRepeating(type, triggerAtTime, interval, operation) - 设置重复定时器 // am.cancel(operation) - 取消一个定时器 } } ...

    安卓调用系统闹钟及获取所有软件信息.zip

    manager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, alarmTime, pendingIntent); } else { manager.set(AlarmManager.RTC_WAKEUP, alarmTime, pendingIntent); } } } ``` 在这个例子中,`...

    Android AlarmManager

    `AlarmManagerService`对外提供的接口是`IAlarmManager`,这是一个AIDL(Android Interface Definition Language)定义的接口,位于`frameworks\base\core\java\android\app\IAlarmManager.aidl`中。该接口定义了...

    安卓Widget小组件相关-androidWidget小组件开发.zip

    定时更新通常通过`AlarmManager`设置,事件驱动更新则是在`onReceive()`中处理特定Intent。 9. **性能优化** - 由于Widget运行在系统进程中,优化Widget的性能至关重要,避免不必要的计算和内存占用。 10. **测试...

    系统[闹钟服务]例子

    它是Android SDK中的一个类,位于`android.app`包下,用于调度定时任务。`AlarmManager`提供了多种调度方法,如`set()`、`setExact()`、`setInexactRepeating()`等,用于设置一次性或周期性的闹钟。 下面是一个简单...

    AlarmManager

    alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); ``` ### 3. 重复闹钟 如果你想让闹钟定期触发,可以使用 `setRepeating()` 方法: ```java alarmManager.setRepeating...

    AlarmManager-master_APP_DEMO_alarm_android_unity_

    在"AlarmManager-master_APP_DEMO_alarm_android_unity_"这个项目中,开发者提供了一个完美的`AlarmManager`实现示例,适用于各种设备。这个代码库可能包含一个完整的Android应用,演示了如何有效利用`AlarmManager`...

    Android开发之AlarmManager的用法详解

    在Android应用开发中,AlarmManager是一个至关重要的组件,它提供了调度任务执行的能力,可以在特定时间或周期性地启动其他组件,如Activity、Service或BroadcastReceiver。这篇内容将深入讲解AlarmManager的用法。 ...

    android 背单词app源码.zip

    【标题】"android 背单词app源码.zip"揭示了这是一个关于Android平台的应用程序源代码,主要用于帮助用户学习和记忆英语单词。源码通常包括应用程序的所有编程代码、资源文件和构建配置,使得开发者可以理解并修改...

    android之appwidget

    **Android之AppWidget详解** AppWidget是Android操作系统提供的一种组件,允许开发者在用户主屏幕上创建小型应用程序,这些小部件无需用户直接启动应用就能显示和交互。AppWidget为用户提供了一种快速访问应用功能...

    Android 闹钟app 源码 可以自己设定时间 ,适配android 8,9,10,11

    本资源提供的"Android 闹钟app 源码"是一个适用于Android 8到11版本的源代码,非常适合学习和实践Android应用开发。以下是基于该源码可能涉及的主要知识点的详细解析: 1. **AlarmManager**: Android中的...

    android记事本app源码

    在Android平台上,开发一款记事本应用涉及到许多关键知识点,这款名为"android记事本app源码"的应用程序显然展示了这些技术的运用。下面将详细阐述相关的核心技术和实践要点。 1. **Android SDK**: 任何Android应用...

    Xamarin.Android通过实现定时呼叫的功能

    本篇文章将深入探讨如何在Xamarin.Android中利用AlarmManager组件实现定时呼叫的功能。 首先,我们需要了解`AlarmManager`。它是Android系统中的一个关键组件,用于安排在将来某个特定时间执行一次性或重复性的任务...

Global site tag (gtag.js) - Google Analytics