当前位置: 首页 > 知识库问答 >
问题:

用Android跟踪多个报警

骆照
2023-03-14

我需要设置许多每周重复的警报,当用户在上课时(这是一个学术应用程序)自动将手机调到振动状态,然后在下课时重置音量。

用户可以取消课程和注册课程(但不能直接在应用程序中),这将更新并反映在数据库中,只保留当前的课程。因此,如果我有一个警报设置到一个不再存在的类,我如何取消它,如果我不能复制PendingIntent?

我在这里看到的一个解决方案是创建一个数据库表来跟踪当前的警报,然后我就可以完全控制它们,另一个方法是在类列表更新时取消并重置所有警报,但这样做需要相当多的时间,第三个但不太友好的选择是简单地等待用户启动手机,当重置警报时,只需设置我需要的警报(如果我在这个启动行为上出错,请更正)。我是否应该尝试第四种选择,或者如果足够好的话,其中一种?

共有1个答案

田文景
2023-03-14

首先,您不需要设置多个警报。只需设置下一个报警器,然后当该报警器着火时,设置新的下一个报警器。这也使它很容易设置警报再次当他们丢失,如果电话是重新启动,因为你只有一个警报要考虑。

我用这个小程序来设置闹钟。set参数的值决定是否设置或取消警报。

public static void SetMyAlarm(Context c, long AlarmTime, Boolean Set) {
    Intent intent = new Intent(c, AlarmReceiver.class); // The broadcast receiver that will handle my alarm 

    int UniqueID =8192; // id for this specific alarm, use a different id for each separate alarm

    PendingIntent sender = PendingIntent.getBroadcast(c, UniqueID, intent, PendingIntent.FLAG_UPDATE_CURRENT);

    AlarmManager am = (AlarmManager) c.getSystemService(Context.ALARM_SERVICE);
    if (Set) {
        am.set(AlarmManager.RTC_WAKEUP, AlarmTime, sender);
    } else {
        am.cancel(sender);
    }
}
 类似资料:
  • 跟踪行为控制着 Entity Framework Core 是否会在其变更跟踪器里维持实体实例的信息。如果实体是被跟踪的,任何检测到的该实体的变更都将在 SaveChanges() 时持久化到数据库中。Entity Framework Core 还会对已跟踪的、之前已加载到 DbContext 实例中的查询和实体进行相互的导航属性装配。 提示 你可以在 GitHub 上查阅当前文章涉及的代码样例。

  • 我有一些启用了跟踪的Python Lambda函数,它们是这样开始的: 有了这个跟踪,每个Lambda函数本身都可以工作,我可以看到通过boto3对DynamoDB或Kinesis的子服务调用。 但是如何在一个跟踪中将各种Lambda函数连接在一起呢?我正在考虑在第一个函数中生成一个唯一的字符串,并将其写入存储在Kinesis中的消息中。然后,另一个函数将从动觉信息中提取字符串并再次跟踪它。 如何

  • 我的DAO类(Spring 3.0)中有一个数据源,即: 正如eis所述,我没有更新测试用例的配置文件。

  • Trace 事件提供了一种机制,可以集中由 V8,Node 核心, 以及用户代码生成的跟踪信息。 启动 Node.js 应用时添加 --trace-events-enabled 标记,可以启用 Tracing. 可以通过在 --trace-event-categories 标记后跟一个用逗号分隔的类别名称列表, 来指定特定的跟踪记录集合。 node 和 v8 默认启用。 node --trace-

  • 跟踪配置指定了Envoy使用的HTTP跟踪器的全局设置。在服务的顶层配置上定义。未来,Envoy可能会支持其他跟踪器,但现在HTTP跟踪器是唯一支持的跟踪器。 { "http": { "driver": "{...}" } } http (optional, object) 提供HTTP跟踪器的配置。 driver (optional, object) 提供处理跟踪和创建span

  • 概述 分布式跟踪使开发人员可以在大型面向服务的体系结构中获得调用流的可视化。在理解序列化,并行性和延迟来源方面,这是非常宝贵的。Envoy支持系统范围与跟踪相关的三个功能: 请求ID生成:Envoy将在需要时生成UUID并填充x-request-id HTTP头。 应用程序可以转发x-request-id头以进行统一日志记录以及跟踪。 外部跟踪服务集成:Envoy支持可插入的外部跟踪可视化提供程序