我正在使用以下代码使设备在单击按钮时振动 10 秒,但是,如果用户不小心按下了硬件后退按钮或选项按钮,则可以停止振动。我该如何克服呢?提前致谢
mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
mVibrator.vibrate(1000 * 10);// sprint time vibration
我已经尝试过覆盖后退按钮,但它没有帮助
在安卓 5.0上测试
我正在使用以下代码使设备在单击按钮时振动 10 秒,但是,如果用户不小心按下了硬件后退按钮或选项按钮,则可以停止振动。我该如何克服呢?提前致谢
mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
mVibrator.vibrate(1000 * 10);// sprint time vibration
我已经尝试过覆盖后退按钮,但它没有帮助
在安卓 5.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();
如果您在振动后完成活动,您似乎忽略了上述条件,似乎从服务中执行此操作也会导致同样的事情(离开活动时取消)
向:
只需覆盖 OnBackPressed 并删除 super.onBackPressed 这将禁用硬件后按按钮...
@Override
public void onBackPressed() {
//super.onBackPressed();
}