无法在 Android 上使用 AlarmManager 安排通知(使用 Qt)

2024-03-10

我正在 qt 5.5 中执行以下操作。项目。

我正在尝试使用 android 中的警报管理器安排本地通知。这是安排通知的代码:

class ScheduledNotifications {
    static public int notification_id = 0;
    static int scheduleNotification(String title, String content, int futureInMilliseconds) {
        ++notification_id;

        Intent notificationIntent = new Intent(QtNative.activity(),  NotificationPublisher.class);
        notificationIntent.putExtra(NotificationPublisher.NOTIFICATION_ID, notification_id);
        notificationIntent.putExtra(NotificationPublisher.NOTIFICATION, createNotification(title,content));
        PendingIntent pendingIntent = PendingIntent.getBroadcast(QtNative.activity(), 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);

        AlarmManager alarmManager = (AlarmManager)QtNative.activity().getSystemService(Context.ALARM_SERVICE);
        alarmManager.set(AlarmManager.RTC_WAKEUP, /*futureInMilliseconds*/0, pendingIntent);

        Log.d("!" ,"Scheduled");
        return notification_id;
    }

    static public Notification createNotification(String title, String content) {
            Notification.Builder builder = new Notification.Builder(QtNative.activity());


            builder.setContentTitle(title);
            builder.setContentText(content);
            return builder.build();
    }
}

这是NotificationPublisher,它应该显示通知:

class NotificationPublisher extends BroadcastReceiver {

    public static String NOTIFICATION_ID = "notification-id";
    public static String NOTIFICATION = "notification";

    public void onReceive(Context context, Intent intent) {//Called when its time to show the notification ...

        Log.d("!", "Notified");
        NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);

        Notification notification = intent.getParcelableExtra(NOTIFICATION);
        int id = intent.getIntExtra(NOTIFICATION_ID, 0);
        notificationManager.notify(id, notification);

    }
}

对于调试 puproses,我将“唤醒”时间设置为 0(因此通知应立即出现)。

The Lod.d("!","Scheduled")输出出现在控制台输出中,但是Log.d("!", "Notified")才不是。那么我安排的闹钟是否不正确?


老实说,不能百分百确定为什么你的不起作用,但我怀疑它是传入的 0。我认为这应该是 System.currentTimeInMillis() + SOME_SHORT_INTERVAL ?

这是警报管理器设置的工作示例。是的,我知道它不同,但这是可以比较的

Intent syncIntent = new Intent(this, SyncIntentService.class);
       syncIntent.putExtra(EXTRA_REQUEST_KEY,   
       SyncRequestTypes.REQUEST_BACKGROUND_SYNC.name());

    PendingIntent pi = PendingIntent.getService(this, 0, syncIntent,
      Intent.FLAG_ACTIVITY_NO_USER_ACTION);

    // Register first run and then interval for repeated cycles.


   alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
            SystemClock.elapsedRealtime() + DEFAULT_INITIAL_RUN_TEST,
            DEFAULT_RUN_INTERVAL_TEST, pi);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 Android 上使用 AlarmManager 安排通知(使用 Qt) 的相关文章

  • android 网格视图从右到左放置项目

    我正在开发一个 Android 应用程序阿拉伯文版本 在其中一个界面中 我有 gridView 因此 要以正确的顺序显示项目 我必须从右到左显示 GridView 中的项目 当然是从上到下 为此 我尝试在 GridView 中添加这些属性
  • android中.so文件的实际用途是什么? [复制]

    这个问题在这里已经有答案了 我想在我的应用程序中实现类似聊天的环聊 我一直在使用 opentok 库 我在其中看到了 libopentok so 文件 谁能告诉我 libopentok so 文件的确切用法是什么 在Android中 我们可
  • 使用 iOS 分布式应用程序时 Google Cloud Messaging 显示“notRegistered”

    我在 iOS 应用程序上实现了 GCM 服务 我使用 PHP 在服务器上发送 GCM 当应用程序由开发配置文件签名时 它可以完美运行 也就是说 当应用程序使用 GCM 配置注册自身时 它始终返回一个正常运行的设备令牌 我可以使用令牌向设备发
  • 连接到 QNetworkReply::error 信号

    我正在使用 Qt5 的新连接语法 QNetworkReply 有一个名为error http qt project org doc qt 5 0 qtnetwork qnetworkreply html error 2还有一个函数叫做err
  • android 中 y + 高度必须 <= bitmap.height()

    我想从另一个创建位图 但每次尝试都会崩溃 这是错误消息 java lang IllegalArgumentException y 高度必须 这是我尝试创作的地方 public void saveBitmap Bitmap bitmapToS
  • 加载内容时在 ImageView 中使用“动画圆圈”

    我目前在我的应用程序中使用一个列表视图 可能需要一秒钟才能显示 我目前所做的是使用列表视图的 id android empty 属性来创建 正在加载 文本
  • Android HTTP-post AsyncHttpClient

    public void postLoginData AsyncHttpClient myClient new AsyncHttpClient RequestParams params1 new RequestParams params1 p
  • Camera.Parameters.FLASH_MODE_ON 在 Moto X 上不起作用

    我正在 moto x 上测试我的应用程序 即使打开闪光灯模式后 闪光灯也无法工作 应用程序在其他设备上运行良好 但在 Moto X 上运行不佳 这是一个代码片段 cameraInstance getCameraInstance camera
  • Firebase 云消息传递 - 目标到 Firebase 控制台中不可见的单个设备

    我正在尝试向 android 中的单个设备发送通知 但是当我从 Firebase 控制台执行此操作时 它在 Firebase 新视图中不可见 谁能帮助我从哪里向单个设备发送通知 仔细尝试以下步骤 Tap 新通知 Fill up 通知标题 可
  • 在较低的 SDK 上运行具有较高 SDK 的应用程序

    我想知道在 Android 3 0 中开发的应用程序是否可以在 Android 2 1 上运行 如果是这样 我该怎么做 如果我使用 3 0 中的库 例如片段 开发应用程序 它可以在 2 1 中使用吗 不会 但是 2 1 应用程序可以在 3
  • Android Studio,工具提示消失得这么快

    我有以下问题 我想从这个工具提示中复制错误文本 但是一旦我将鼠标悬停在它上面 它就消失得如此之快 这让我发疯 我有以下 android studio 版本 我有以下设置 谢谢您的帮助 如果有人遇到这个问题 这与logcat刷新的方式有关 每
  • PyQt4 信号和槽

    我正在使用 PyQt4 编写我的第一个 Python 应用程序 我有一个 MainWindow 和一个 Dialog 类 它是 MainWindow 类的一部分 self loginDialog LoginDialog 我使用插槽和信号 这
  • 在 Android Studio 中运行重建项目后会发生什么?

    该文件http www jetbrains com idea help rebuilding project html search reb http www jetbrains com idea help rebuilding proje
  • Android studio 找不到 Theme.AppCompat.Light.DarkActionBar [重复]

    这个问题在这里已经有答案了 我已经导入了一个Android Studio项目来自Github into Android Studio 虽然我的build gradle有dependencies dependencies compile fi
  • 如何在Android 11中获取dir文件列表

    我想编写自己的精简版文件浏览器 文件 API 现在不适用于外部存储 该版本还提供了对范围存储的改进 这使得开发人员可以更轻松地迁移到使用此存储模型 我不明白如何使用范围存储来访问 sdcard 如果您正在寻找文件选择器体验 存储访问框架 h
  • 安卓浮动键盘

    是否可以通过编程方式更改键盘的位置 我正在开发一个图腾应用程序 如果键盘停靠在底部 则很难使用 我尝试创建一个扩展 InputMethodService 的自定义键盘 并且我能够更改按键的布局 但我无法更改键盘的视图位置 快捷键 https
  • 使用 LinearLayout 将按钮放在屏幕底部?

    我有以下代码 如何使 3 个按钮位于底部
  • 对于双核手机,availableProcessors() 返回 1

    我最近购买了一部 Moto Atrix 2 手机 当我尝试查看手机中的处理器规格时 Runtime getRuntime availableProcessors 返回 1 proc cpuinfo 也仅包含有关处理器 0 的信息 出于好奇
  • Volley 在第一次调用方法时返回 null

    我正在尝试使用 volley 从服务器检索数据 但是当我第一次调用此方法时 我收到服务器的响应 但该方法返回 null 如果我第二次调用它 我会得到最后的响应 public String retrieveDataFromServer Str
  • 如何在顶部工具栏的购物车图标上添加商品编号?安卓

    I saw some apps made it So I am intersting at how to do it I believe there must be some trick way to do it Example 我在菜单文

随机推荐

  • 将 opencv 仿射矩阵转换为 CGAffineTransform

    我想采用 OpenCV 中的仿射矩阵 Mat T getAffineTransform src pt dst pt 然后将其转换为 CGAffineTransform 以在 Core Graphics Objective C iOS 中使用
  • Postgresql 在删除行之前创建触发器

    所以我有这两个表 Table user columns id name surname password token earnedmoney Table addlisting columns id user fk price date ad
  • java中如何初始化动态数组?

    如果我有一个类需要返回可变维度的字符串数组 并且该维度只能在运行该类的某些方法时确定 那么如何在类的构造函数中声明动态数组 如果问题还不够清楚 在 php 中我们可以简单地声明一个字符串数组为 my string array array 并
  • 如何在 Kotlin 数据类字段上列出(java)注释?

    我使用 Firestore 的基于 Java 的注释来标记字段和将文档字段映射到 Java 类元素的方法 Retention RetentionPolicy RUNTIME Target ElementType METHOD Element
  • javascript - 迄今为止的字符串 - php iso 字符串格式

    我有一个日期格式为 2010 11 30T08 32 22 0000 2010 11 27T20 59 17 0000来自 feed 以字符串格式转换为 javascript 现在我想将其转换为 Date 对象 我怎样才能用 JavaScr
  • 使用 JavaScript 将字符串分成多个变量

    使用 JavaScript 我想获取这样的字符串var hashStr modal 123456 并分配左边的字符串 到一个变量和右边的字符串 到另一个变量 如果字符串不包含 然后忽略它 我怎样才能最好地实现这一目标 var hashStr
  • 添加文本时的转换表单元格宽度

    我有一个表格单元格 其中包含一些文本 td Text in here td 我无法使用 CSS 设置宽度 因为我不知道同一列中的其他单元格中有多少数据 但是 当我的 Javascript 将新代码插入表中时 我想为 CSS 中的宽度属性设置
  • Oh-my-posh 主题无法与 Powerline 字体和 ConEmu 一起正常工作

    I use PowerShell as my shell on Windows 7 I find that ConEmu is a really good terminal Since I am not on Windows 10 I ca
  • 如何使用 IntelliJ 设置 libgdx?

    我跟着this https github com libgdx libgdx wiki Gradle and Intellij IDEA教程 但似乎有点过时了 我不知道 不幸的是 我对 Java 的经验不是很丰富 但对 C Python 所
  • Javascript:如何检查 URL 是否包含单词

    我想检查浏览器中的 URL 是否包含单词 桌面 我从桌面启动 html 文件 它的网址是 file C Users Joe Desktop TestAlert html 但应该会出现一个警报 但这不起作用 这是我的代码 h1 Test001
  • 动态设置用户任务受让人

    我必须在 activiti 中创建需要以下用例的流程 1 表单有一个人员搜索字段 2 当有人填写表单并使用填充姓名的人员搜索字段完成任务时 我需要将分配的下一个任务的名称设置为可以对下一个任务执行操作的用户 如何使用 activiti 引擎
  • android中什么时候绘制视图?

    我想获取活动中视图的大小 但无法在任何活动生命周期回调 onCreate onStart onResume 中获取该信息 我假设这是因为视图尚未绘制 在什么时候绘制视图 是否有回调我可以放置我的代码以便获得视图的大小 findViewByI
  • Quarkus 替代 spring-data-jdbc

    默认DAO层 ORM框架中Quarkus is Panache 在 Hibernate 之上 这很奇怪 因为我没有找到任何可插入外部 L2 缓存实现 如 Redis 的内置集成 夸库斯被称为cloud native但在实际系统中 使用默认的
  • 如何使用 cURL 在 php 中发布表单数据?

    我有以下命令 它使用 form F 选项 我知道它正在工作 curl form file home USERNAME import csv https apiprovider com api v0 imports token KEY 我需要
  • mongodb聚合获取数组中负序的最大数量

    我需要通过聚合从数组中获取负序列的最大计数 示例文档 id 1 x 1 1 1 1 1 1 1 1 1 1 1 id 2 x 1 1 1 1 1 1 1 预期结果 id 1 x 4 id 2 x 2 请指教 您可以使用 reduce htt
  • 如何为 Cloudfront 上的静态托管网站的子目录设置默认根对象?

    如何为 Cloudfront 上静态托管网站上的子目录设置默认根对象 具体来说 我想www example com subdir index html每当用户请求时提供服务www example com subdir 请注意 这是为了交付保
  • quartz:xml 文件的文档?

    quartz xml 文件 特别是 jobs xml 的文档在哪里 我找到了javadoc http www quartz scheduler org docs api index html在线 但我似乎找不到如何编写 xml 文件的文档
  • 如何在 sed 中转义斜杠、双引号和单引号?

    据我所知 当您使用单引号时 里面的所有内容都被视为文字 我想要那个来代替我 但我也想找到一个带有单引号或双引号的字符串 例如 sed i s http www fubar com URL FUBAR g 我想用 URL FUBAR 替换 h
  • Oracle 查询 - 仅获取选择字段中的字符串

    也许这听起来有点疯狂 但我需要提出一个查询来仅检索字母数字字段中的字母 例如 TABLE 1234ADD 3901AC 1812OPA82711AUU 预期结果 ADD AC OPA AUU 谢谢你 看起来您只想删除数字 您可以使用REGE
  • 无法在 Android 上使用 AlarmManager 安排通知(使用 Qt)

    我正在 qt 5 5 中执行以下操作 项目 我正在尝试使用 android 中的警报管理器安排本地通知 这是安排通知的代码 class ScheduledNotifications static public int notificatio