Articles of alarmmanager

如何以编程方式检测SONY – Stamina设备能量曲线是否开启

我想通知用户我的应用程序将无法正常工作,如果他有SONY Android手机与STAMINE能源配置文件ON。 此配置文件阻止AlarmManager,并且我想要时不会唤醒设备。

Firebase JobDispatcher与Evernote Android作业 – 这两者如何比较?

目前,在Android中,要根据时间或任何其他因素(如充电状态,网络状态等)定期执行任务,基本的三个选项是: Android AlarmManager (根据时间定期工作) , GCMTaskService (需要设备上的Google Play服务) )和JobScheduler (需要Android版本> 21) 。 最近,我遇到了这两个用于安排工作的库,一个来自Firebase,另一个来自Evernote。 我的主要问题是:这两个库如何比较? 他们的优点和缺点是什么? 我想建立一个应用程序,提醒用户在一段时间后定期服用药物。 我的第二个问题是:简单的AlarmManager是否足够用于此目的,或者我应该选择这两个库中的任何一个? 谢谢。

Android系统。 警报管理器在奇怪的时间触发

我使用以下代码设置重复警报(每5分钟)。 public void SetAlarm(Context context) { AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); Intent i = new Intent(context, Alarm.class); PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0); am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 60 * 5, pi); // Millisec * Second * Minute } 似乎工作正常(它运行近20个小时),并在服务器中,我可以看到一些不断的消息到达。 然而,时代有一些东西:我希望时间每五分钟一次,似乎在服务器中我在不同的时间收到消息。 当手机处于睡眠模式(夜间)时,我会在服务器收到消息时添加第一个序列: 05:13:51, 05:18:54, 05:24:54, 05:28:54, 05:33:51, 05:38:54, 05:52:45, 05:54:54, 05:58:52, 06:04:54, 06:08:54, 06:16:19, 06:18:54, 06:24:54, 06:28:54, 06:34:54, […]

调用服务类在应用程序启动的一天中,在Android中启动,耗电量更少

当用户在Android中每天启动一次应用程序时,我想调用服务类。 清单代码: Java代码: // for Repeating Process Intent myIntent = new Intent(sign_in.this,.DailyRemainder.class); pendingIntent1 = PendingIntent.getService(sign_in.this, 0,myIntent, 0); AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); calendar.add(Calendar.SECOND, 20); alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent1); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 24*60*60*1000, pendingIntent1); 以上代码在后台运行我的移动电池 ,但我需要当用户启动应用程序时,服务应该运行一天一次。 如何实现这一目标。

检测默认闹钟应用程序警报

我想知道是否有办法(可能是系统广播)知道闹钟默认应用程序现在开始响铃。 如果不是 – 如果我能够逐步获得用户设置的所有活动警报的列表,我也会感到满意(我可以从每个警报中提取它将响铃的确切时间..) 到目前为止我尝试了什么: 我知道有一种方法可以将格式化字符串转换为下一个警报: String nextAlarm = Settings.System.getString(context.getContentResolver(), Settings.System.NEXT_ALARM_FORMATTED); 此方法返回某些设备(例如所有三星Galaxy系列..)一个空字符串,即使设置了警报(由三星原生闹钟应用程序..)。 我敢打赌它只适用于具有默认警报应用程序的nexus设备。 我想得到一个通用的解决方案,无论哪种方式。 TIA UPDATE 我会尽力使我的问题更清楚: 我不感兴趣(直接)知道AlarmManager持有的所有PendingIntent 我只想了解用户隐含设置的警报,特别是关于他为唤醒而激活的警报。 我的最终目标是暗示用户醒来 。 而已..

Lollipop API用于控制状态栏中的警报图标

这是一个特定于棒棒糖的问题 ,因为API已经发生变化。 要了解如何在早期版本上执行此操作,请参阅相关问题: 控制状态栏中的警报图标 我想知道如何在状态栏中打开/关闭系统警报图标,如下图所示: 从1.3版开始, 及时闹钟控制棒棒糖上的这个图标。 在该版本之前,代码使用了相关问题中详述的私有API 。 他们使用的新技术适用于运行v5.0.1的无根Nexus 5。 更新 看起来这个新API还有很多,而不仅仅是更改图标。 锁定屏幕现在还显示我为其设置警报的时间。

Android:如何使用AlarmManager在特定时间检查电子邮件?

我需要每天早上9点打印所有收到的电子邮件。 这是我尝试过的 电子邮件部分工作正常。 我能够连接到电子邮件并打印所有。 当我介绍Alarm Manager时会出现问题。 当我运行它时,没有任何反应。 它只是挂起 MainActivity.java import android.annotation.TargetApi; import android.app.Activity; import android.app.AlarmManager; import android.app.PendingIntent; import android.app.job.JobInfo; import android.app.job.JobScheduler; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.os.Build; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Toast; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Properties; import javax.mail.*; public class MainActivity extends Activity { @Override protected […]

PendingIntent获取requestCode

我使用AlarmManager来启动服务。 当我设置AlarmManager我使用PendingIntent并使用一个唯一的requestCode,它等于我的数据库中的id行。 PendingIntent pendingIntent = PendingIntent.getBroadcast(SettingsActivity.this, lecture.getId(), myIntent, 0); 如何在启动时在我的服务中检索该ID? 我基本上只需要requestCode参数。 我想使用该id从我的数据库中检索数据并在通知中显示它。 我已经实现了所有的东西,我只需要requestCode。 有可能得到它吗? 谢谢

应用程序更新后Android AlarmManager会继续运行吗?

从我所看到的情况来看,如果你计划一个无限期重复的警报,它将不会停止运行,直到你重启设备或卸载应用程序。 我想知道,在应用更新的情况下,这些行为如何? 例如,您从Play商店下载该应用程序的版本1,然后运行该应用程序,此警报开始运行。 然后发布版本2并执行自动或手动更新。 此警报是否仍在继续运行(或者您是否必须再次启动应用程序才能启动警报)? 在我的场景中,我确实需要它这样做,所以我希望答案是它会继续运行。 但是,如果您在版本2中更改了警报代码,会发生什么?

Android:将android.net.Uri对象保存到数据库

我想要做的是从用户那里获取所选铃声,设置一个AlarmManager闹钟,以在闹钟关闭时播放该铃声。 但我需要将铃声保存在数据库中,这样我可以在手机重启后重置所有闹钟。 我的问题是什么是将铃声Uri保存到数据库以便以后检索的最佳方法? 我尝试了以下几点: 1)将铃声标题保存在数据库中,然后将其检索并将其附加到默认铃声路径。 但问题是,铃声可能是从不同的位置加载2)存储uri方案,方案spefici部分和片段,然后调用Uri.fromParts来创建Uri。 3)从Uri创建一个inputStream,byte []数组并将其保存为blob,然后将其读回并将结果转换为Uri 这些都不起作用。 非常感谢您的帮助。