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

时间:2012-04-13 05:34:03

标签: java-me nokia vibrate

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

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

但display.vibrate(2000)返回false,设备不振动。 谁能帮忙。 我在诺基亚C7设备上尝试它。 (Symbian ^ 3的)

2 个答案:

答案 0 :(得分:3)

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

在调用MIDlet.notifyDestroyed

之前尝试调用Display.vibrate

答案 1 :(得分:0)

尝试此代码,看看它是否有效。 它适用于诺基亚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);
    }

}
}