9

Androidアプリでボタンをクリックしてこれを実行しています:

public void vibrateold() {
    Vibrator vibrate = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);

    vibrate.vibrate(4000);
}

しかし、アクティビティから4秒前に離れると振動が止まりません。

4

1 に答える 1

14

Vibrators メソッドのcancel() はどうですか?

Vibrator.cancel();

例: (onCreate() で初期化してバイブレーションを開始します - 10 秒間のバイブレーションがなくなる前にアクティビティが破棄または一時停止された場合は、バイブレーションを停止します)

Vibrator vibrator;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
    vibrator.vibrate(10000);
}

@Override
public void onPause() {
    vibrator.cancel();  // cancel for example here
}

@Override
public void onDestroy() {
    vibrator.cancel();   // or cancel here
}
于 2013-08-25T13:07:43.077 に答える