Vibrator.vibrate () создает исключение ArrayIndexOutOfBoundsException - PullRequest
2 голосов
/ 06 февраля 2011

Я использую следующий фрагмент, чтобы вибрировать телефон по определенному шаблону, но он выдает и ArrayIndexOutOfBoundsException .

vibrator.vibrate(new long[] { selectedDuration, CONSTANT_DELAY }, REPEAT); 

Но

vibrator.vibrate(VIBRATE_DURATION);

отлично работает. Есть указатели?

1 Ответ

10 голосов
/ 06 февраля 2011

В документах говорится:

Если вы хотите повторить, передайте индекс в шаблон, с которого начинается повтор.в вашем случае 0 или 1.

Это реализация:

public void vibrate(long[] pattern, int repeat)
{
    // catch this here because the server will do nothing.  pattern may
    // not be null, let that be checked, because the server will drop it
    // anyway
    if (repeat < pattern.length) {
        try {
            mService.vibratePattern(pattern, repeat, mToken);
        } catch (RemoteException e) {
        }
    } else {
        throw new ArrayIndexOutOfBoundsException();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...