Android - Vibrating device doesn't work

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-01 02:02:00

问题


I actually have an app that I test with two devices. One LG GW620, and one Samsung Spica. I would like when User touch the screen, the device vibrate.

In fact, On the LG GW620, the device vibrate when I touch it. But on the spica doesn't...

I looked for settings on the spica, but Vibrator is check, so I don't understand why it doesn't vibrate.

In my app I have : <uses-permission android:name="android.permission.VIBRATE"></uses-permission>

and in the code :

Vibrator vibrator =(Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
            vibrator.vibrate(100);

But I think it is not the best thing to do that. I wish device vibrate for every click, but I don't know if I have to do a Vibrator for each OnClick ? Or if I could do only one Vibrator for all the application ?
And especially why it doesn't work on Spica ?


回答1:


Funny. In your onClick for the button you should put the vibrate. And since it is in miliseconds I'd put something like 500 for half a second instead of .1 seconds.

void onCreate() {

    mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

    Button b = (Button) findViewById(R.id.button);
    b.setOnClickListener(new View.OnClickListener() {
        void onClick() {
            mVibrator.vibrate(500);
        }
    });
}



回答2:


Almost all solutions on the internet seem to missing something . . (context) heres a working solution . . .

    Vibrator v = (Vibrator) getApplicationContext().getSystemService(Context.VIBRATOR_SERVICE);
    v.vibrate(100);


来源:https://stackoverflow.com/questions/3108154/android-vibrating-device-doesnt-work

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!