【问题标题】:J2ME system notification / play sound when phone is lockedJ2ME系统通知/手机锁定时播放声音
【发布时间】:2014-10-19 18:39:01
【问题描述】:

大家好,

我有一部基于 Java 的手机(三星之星 2 5260),我花了三周的时间才想出一个解决方案来接收收到的电子邮件通知。 手机配置了至少 30 分钟的定期检查,但我需要更频繁的控制(最多 5 分钟)。

我尝试了无数的解决方案,并且我想出了最接近的一个,它是一个自定义的 mujmail midlet,它通过 imap 支持我的 gmail 邮箱,这要归功于 netbeans 编辑器。 关键是,我已经修改了mujmail的轮询在后台运行,但是手机锁定时音频不播放,所以即使midlet检查和接收电子邮件,它也无法通知我。应用程序最小化并继续运行,但它无法告诉我新邮件已到达。

我什至尝试在有新邮件时发送短信,但无法签署应用程序(看起来 ktoolbar 生成 1024 位证书,而 thawte、verisign 等几年后只能生成 2048 位证书。 ),所以它总是会请求授权,这使得这种方法毫无用处。

所以我迫切地想找到一个替代方案。

我希望我们能够以某种方式模拟手机在锁定并且您收到短信(音频提示)时使用的“系统警报”。 这是一个 j2me 功能,还是特定于三星 sdk? 有人知道如何从 midlet 内部访问此功能吗? 有没有办法在受信任的第三方域中创建一个 midlet 而无需签名?

我知道 j2me 是一个古老的主题,但希望这里有人仍然了解它。

提前致谢。

【问题讨论】:

    标签: background notifications java-me midlet


    【解决方案1】:

    看来您对 JavaME 的期望太高了。

    如果可以做你想做的事,你可以确定它需要签名。 基本上,您必须使用手机支持的证书对 MIDlet 进行签名。大多数开发人员选择 Thawte 或 Verisign,因为大多数设备都支持他们的证书。

    如果您只想让它在您自己的手机上运行,​​您可以找到更便宜的提供商,例如三星自己。但我承认我不知道。

    无论如何,当你想用 JavaME 做这样的事情时,没有办法绕过签名。

    (嗯....您的手机允许您设置权限的可能性很小,例如安装后手机上的 MIDlet 属性中的“从不询问”,但可能性很小)。

    即使在签署您的 MIDlet 之后,它仍然无法唤醒手机。 JavaME 是一个沙箱。如果用户让手机进入睡眠状态,那么 JavaME 就无法唤醒它。 (至少没有我认为不存在的特殊 API)。

    如果是我,我会研究这种方法:

    实现 PushRegistry 计时器以每 5 分钟启动一次 MIDlet。尽管手机处于休眠状态,但理论上这应该会启动 MIDlet。 (但如果它被关闭,则不会)。 然后尝试是否可以在此处播放警报声。 如果你不能,那么我会考虑给自己发短信。

    【讨论】:

    • 推送注册。看起来是个好主意,谢谢提醒。我去看看。
    • 即使有一个每 30 秒只播放一次声音的愚蠢的 midlet,pushregistry 也无法在手机锁定时执行任务:(。不确定下一步该做什么。
    • 我怀疑它取决于设备。另一部手机可能会给您带来不同的结果,即尽管设备被锁定,它仍会播放声音。但由于它不能在你的三星设备上运行,我想你必须要么切换到另一种技术,否则,如果你想坚持使用 JavaME,那么你必须签署你的 MIDlet,然后使用 send-SMS取而代之的是自己的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    • 2012-09-07
    • 2018-05-15
    相关资源
    最近更新 更多