使用 j2me 在游戏中的诺基亚设备振动

Posted

技术标签:

【中文标题】使用 j2me 在游戏中的诺基亚设备振动【英文标题】:nokia device vibration in a game using j2me 【发布时间】:2012-04-13 05:34:02 【问题描述】:

我想让我的手机在游戏结束时振动。我尝试使用

Display display = Display.getDisplay(midlet);
display.vibrate(2000);

但是 display.vibrate(2000) 返回 false 并且设备不振动。 任何人都可以帮忙。 我正在诺基亚 C7 设备上试用它。 (塞班^3)

【问题讨论】:

手机有震动吗??? 是的,设备支持振动 【参考方案1】:

根据Display.vibrate 文档“返回值指示振动器是否可以由应用程序控制。”如果您在 destroyApp 期间调用振动,则 VM 可能会忽略振动请求。

在调用 MIDlet.notifyDestroyed 之前尝试调用 Display.vibrate

【讨论】:

【参考方案2】:

试试这个代码,看看它是否有效。 它在诺基亚 e63 上对我有用

package ravi.vibrationClass;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class Vibrate extends MIDlet implements CommandListener
Form form;
Display disp;
Command vib,exit;
public void startApp() 
    form = new Form("Vibration");
    disp = Display.getDisplay(this);
    exit = new Command("Exit", Command.EXIT, 1);
    vib = new Command("Vibrate", Command.OK, 1);
    form.append("Press \"vibrate\" to make the phone vibrate");
    form.addCommand(vib);
    form.addCommand(exit);
    form.setCommandListener(this);
    disp.setCurrent(form);



public void pauseApp() 


public void destroyApp(boolean unconditional) 
    notifyDestroyed();


public void commandAction(Command c, Displayable arg1) 
    if(c == vib)
    disp.vibrate(125);
    else if(c == exit)
    destroyApp(true);
    



【讨论】:

以上是关于使用 j2me 在游戏中的诺基亚设备振动的主要内容,如果未能解决你的问题,请参考以下文章

J2ME“notifyDestroyed()”在诺基亚 501 上无法正常工作

在诺基亚触摸设备中按下菜单按钮时调用的事件

J2ME:设备上的多个 HttpConnection 失败(诺基亚 C2-O3)

如何在诺基亚 Asha 的 J2ME 中将对象转换为字符串?

在 J2me 中处理外部音量键

在设备上调试 j2me