问题标签 [gcm-network-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - GCMNetworkManager OneOffTask 执行窗口
如果 OneOffTask 需要连接网络但手机在执行窗口期间从未获得网络连接,会发生什么情况?这种情况如何处理或者 GCMNetworkManager 会通过重新调度任务来自动处理吗?
android - GcmNetworkManager 定期任务未在某些设备上触发
我GcmNetworkManager
用来运行定期同步任务以将数据推送到我的服务器。但是,在发布应用程序后,我注意到在某些手机中,从不调用周期性任务。我已经调试了该应用程序是其中一些手机,并没有发现任何异常,当我安排任务时没有任何错误或日志,但它们根本不会被调用。
我的大多数用户都有Infinix手机。
有什么想法可能是造成这种情况的根本原因吗?
这是我安排任务的代码:
android - 如何使用 GCM 网络管理器找到断开的互联网?
我在 android 中使用 GCM 网络管理器来通知我互联网是否可用。但是如何通知互联网是否断开连接。有什么办法。提前致谢。一件事是我不想使用广播接收器,因为 NETWORK_CHANGED 广播接收器在 android Nougat 7.0 中已被弃用
android - GCMNetorkManager PeriodicTask 工作时间为 1 分钟,但不工作时间为 2
我已经实现了 GCMNetworkManager PeriodicTask
我已根据手册仔细检查了所有步骤,已阅读 GCMNetMan 的所有文档
一分钟的设定时间 - 完美运行。设置 2 或 5 分钟 - 没有任何效果。
Kotlin 中的代码:
android - RESULT_RESCHEDULE 在 GCMNetworkManager 中如何工作?
起初我想,这和周期性任务RESULT_RESCHEDULE
是一样的RESULT_SUCCESS
。
然后我阅读了文档,它说
RESULT_RESCHEDULE 表示任务执行失败,必须通过退避重试。
我一头雾水,这是什么意思?在当前情况下,什么是“退避”?
android - Android GcmNetworkManager PeriodicTask - setRequiredNetwork 行为
我有一个 Android 应用程序,它实现GcmNetworkManager
了安排一个PeriodTask
.
在 的文档中PeriodTask
,它对 的行为进行了以下说明setRequiredNetwork()
:
设置您的任务运行所需的网络状态。如果指定的网络不可用,您的任务将在它变得可用之前不会被执行。
所以我的问题是,当网络可用时任务会立即触发吗?还是在下一个setPeriod()
间隔?
android - 如何在 ionic 上配置 OneSignal Push,以便推送通知仅打开应用程序主页
我已经在我的 ionic 应用程序上安装了 onesignal push,它运行良好,但是当我发送网络推送并单击我的 Android 设备上的特定通知时,它会将我带到外部浏览器以打开该通知。
现在我想要从一个信号发送到我的应用程序的任何类型的通知,它应该只打开应用程序,而不是浏览器。
java - 如何在android中安排一个任务,该任务将在互联网可用后立即运行并在失败时重新安排它?
需要调度器
Run task immediately after net is available
Reschedule task if it fails because of some problems.
should handle cases of broadcast receiver to know if connection available
No delay in execution if the internet is already available not like GCMNetworkManager's OneOfTask which take at least 30 seconds to execute the scheduled task
我尝试了GCM 网络管理器的 OneOfTask来处理它,但即使互联网可用,也至少需要 30 秒才能执行。
是否有任何其他调度程序可以将所有上述任务合二为一。
android - GCM 网络管理员失去工作
我正在尝试使用 GCM 网络管理器将日志发送到后端服务。我们大约每小时都会运行一个警报,它会创建一个 OneoffTask,在执行该任务时,它将使用日志消息调用后端服务。
这行得通,但是丢失了大量的任务(超过一半)。起初,我认为它与我们的后端或网络有关,但在添加了大量文件日志记录后,事实证明服务中的 onRunTask 从未为这些任务触发(但它们肯定会被安排。为什么这些丢失了吗?是我误解了 API,还是 OneoffTasks 根本不可靠?
这是 OneoffTask 的调度方式:
同样,这不起作用,而只是部分消息。对于随后丢失的消息,上面的代码 肯定会执行(我添加了文件日志来验证这一点),但从来没有为丢失的消息触发相应的 onRunTask。
我已经证实:
- 根据网络管理器实施指南 ( https://developers.google.com/cloud-messaging/network-manager )更新清单
- AvroLogService(我的服务)扩展了 GcmTaskService
- 它覆盖 onRunTask
- 该应用程序具有 RECEIVE_BOOT_COMPLETED 权限。
- AvroLogService 不会覆盖 onStartCommand。
我迷路了。有人可以分享对此的见解吗?
android - 何时会再次执行 oneOffTaks,结果为 GcmNetworkManager.RESULT_RESCHEDULE
所以来自 GcmNetworkManager 的 Android SDK
公共静态最终 int RESULT_RESCHEDULE
表示任务执行失败,必须通过退避重试。
在我的服务里面
当执行失败时,会返回RESULT_RESCHEDULE,并重试。所以我想知道什么时候会重试?
谢谢