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

手机锁定时的J2ME系统通知/播放声音

易骁
2023-03-14

大家好,

我有一个基于Java的手机(三星星2 526 0)和它的三个星期,我试图提出一个解决方案,以接收收到的电子邮件通知。手机配置了一个定期检查至少30分钟,但我需要一个更频繁的控制(最多5分钟)。

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

我甚至尝试过在有新邮件时发送sms,但无法对应用程序进行签名(看起来ktoolbar生成1024位证书,而thawte、verisign等几年来只生成2048位证书),因此它总是请求授权,这使得这种方法毫无用处。

所以我迫不及待地想找个替代方案。

我希望我们能以某种方式模拟当手机被锁定并收到短信(音频提示)时的“系统警报”。这是一个j2me功能,还是samsung SDK特有的功能?有人知道如何从MIDlet内部访问这个功能吗?有没有一种方法可以在可信的第三方域中创建一个midlet,而不需要对其进行签名呢?

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

提前道谢。

共有1个答案

任长卿
2023-03-14

看来你对javame期望太高了。

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

如果你只对在自己的手机上运行这个感兴趣,你可以找到一个更便宜的供应商,比如三星自己。但我承认我不知道。

在任何情况下,当您想用Javame做这样的事情时,都没有办法绕过签名。

(嗯……你的手机允许你设置权限的可能性很小,比如安装后手机的MIDlet属性中的“从不问”,但只有很小的可能性)。

即使签署了您的MIDlet,它仍然无法唤醒电话。JavaME是一个沙箱。如果用户将手机置于休眠状态,那么JavaME就无法将其唤醒。(至少没有特殊的API,我认为不存在)。

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

实现PushRegistry计时器,以启动MIDlet每5分钟。理论上,这应该推出MIDlet,尽管手机沉睡。(但如果关闭了,则不会)。然后尝试一下,如果您可以在这里播放警报声音。如果你做不到,那我就给自己发个短信。

 类似资料:
  • 我在我的应用程序中为某些通知添加声音,就像这样: 播放通知声音时,即使将耳机插入手机,也会通过扬声器播放,因此扬声器和耳机都会播放该声音。 如果插上耳机,有没有办法只通过耳机播放声音?

  • 是否可以通过Android设备的手机扬声器播放音频?手机内部较小的扬声器,可产生低音量声音,只有在将耳朵贴在电话上时才能听到。 希望我的描述足够清楚,可以理解我的问题。 如果可能的话,一个如何实现这一点的例子将非常有帮助。 目前我正在使用下面的代码初始化我的MediaPlayer。

  • 我正在从调用firebase api的应用服务器向用户发送数据消息。用户正在接收通知,但通知到达时不会播放声音。 这是代码 有什么问题吗???

  • 这三个系统都为应用提供了向用户发送通知的API。 Electron允许开发人员使用HTML5 Notification API快速发送通知,并通过当前系统的自带通知API来显示。 注意: 由于这是一个HTML5 API,因此它仅在渲染器进程中可用 1 let myNotification = new Notification('测试标题', { 2 body: '测试通知' 3 }) 4 ​ 5

  • 手机通知功能便于您通过手表收到来电、信息和应用程序通知提醒。您在手表上收到的通知与手机上收到的相同。手机通知适用于 iOS 和 Android 手机。 若要使用手机通知,您需要在手机上安装 Polar Flow 应用,并且还需要将其与手表配对。请参阅将移动设备与手表配对,了解相关说明。 将手机通知设置为开启 在手表上,进入 Settings(设置) > General settings(一般设置)

  • 手机通知功能便于您通过手表收到来电、信息和应用程序通知提醒。您在手表上收到的通知与手机上收到的相同。手机通知适用于 iOS 和 Android 手机。 若要使用手机通知,您需要在手机上安装 Polar Flow 应用,并且还需要将其与手表配对。请参阅将移动设备与手表配对,了解相关说明。 将手机通知设置为开启 在手表上,进入 Settings(设置) > General settings(一般设置)