活动结束后,在android中停止振动

use*_*467 6 android android-vibration android-activity

我在Android应用程序中单击按钮运行此操作:

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

    vibrate.vibrate(4000);
}
Run Code Online (Sandbox Code Playgroud)

但是在4秒钟之前离开活动时振动不会停止.我该如何阻止它?

Phi*_*oda 9

振动器方法取消怎么样()?

Vibrator.cancel();
Run Code Online (Sandbox Code Playgroud)

例如:(初始化并开始在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
}
Run Code Online (Sandbox Code Playgroud)

  • 伟大的 !!谢谢我是android初学者 (2认同)