后退按钮停止振动android

时间:2015-08-12 12:29:56

标签: android android-vibration

我使用以下代码使设备在单击按钮时振动10秒,但是,如果用户意外按下硬件后退按钮或选项按钮,则可以停止振动。我怎么克服这个?提前谢谢

mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
mVibrator.vibrate(1000 * 10);// sprint time vibration

我已经尝试覆盖后退按钮,但它没有帮助

Android 5.0

上进行测试

2 个答案:

答案 0 :(得分:0)

简单覆盖OnBackPressed并删除super.onBackPressed这将禁用硬件按下按钮...

@Override
public void onBackPressed() {
    //super.onBackPressed();
}

答案 1 :(得分:0)

似乎文档说:

If your process exits, any vibration you started will stop.

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

如果您执行此操作,似乎有一种方法可以从活动的角度处理此行为:

的onCreate() - - - -

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
((Vibrator) getSystemService(Context.VIBRATOR_SERVICE)).vibrate(10 * 1000);
finish();

如果您在振动后完成活动,似乎您忽略了上述条件,似乎从服务中执行此操作也会导致同样的事情(当您离开活动时取消)

感谢:

Vibrator In Android, Stopping when the app exits