【问题标题】:nokia device vibration in a game using j2me使用 j2me 在游戏中的诺基亚设备振动
【发布时间】:2012-04-13 05:34:02
【问题描述】:
我想让我的手机在游戏结束时振动。我尝试使用
Display display = Display.getDisplay(midlet);
display.vibrate(2000);
但是 display.vibrate(2000) 返回 false 并且设备不振动。
任何人都可以帮忙。
我正在诺基亚 C7 设备上试用它。 (塞班^3)
【问题讨论】:
标签:
java-me
nokia
vibration
【解决方案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);
}
}
}