以编程方式振动不停

时间:2014-11-07 00:31:59

标签: android android-vibration

我的android应用程序中有一个BroadcastReceiver。 当我的接收器发生特殊情况时,我想振动。

我知道如何控制振动,但有两个问题:

1-按下电源按钮并且屏幕关闭时,设备停止振动。 2-如果我的振动重复参数设置为大于1,再次打开屏幕后,它再也不会振动。

这是我的振动方法:

public void startVibrate(Context context, int repeat) {
    vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
    int dot = 200;          // Length of a Morse Code "dot" in milliseconds
    int dash = 500;         // Length of a Morse Code "dash" in milliseconds
    int short_gap = 200;    // Length of Gap Between dots/dashes
    int medium_gap = 500;   // Length of Gap Between Letters
    int long_gap = 1000;    // Length of Gap Between Words
    long[] pattern = {
            0,  // Start immediately
            dot, short_gap, dot, short_gap, dot, medium_gap,    // S
            dash, short_gap, dash, short_gap, dash, medium_gap, // O
            dot, short_gap, dot, short_gap, dot, long_gap       // S
    };
    vibrator.vibrate(pattern, repeat);
    //vibrator.vibrate(10000);
}

这里是振动方法调用:

controller.startVibrate(context, 0);

1 个答案:

答案 0 :(得分:1)

我知道我很晚才回答,但它可能对任何人有所帮助,所以如果你不想重复模式,你会传递-1重复模式。

Vibrator.vibrate(pattern,-1);

https://developer.android.com/reference/android/os/Vibrator.html