我使用以下代码使设备在单击按钮时振动10秒,但是,如果用户意外按下硬件后退按钮或选项按钮,则可以停止振动。我怎么克服这个?提前谢谢
mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
mVibrator.vibrate(1000 * 10);// sprint time vibration
我已经尝试覆盖后退按钮,但它没有帮助
在 Android 5.0
上进行测试答案 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();
如果您在振动后完成活动,似乎您忽略了上述条件,似乎从服务中执行此操作也会导致同样的事情(当您离开活动时取消)
感谢: