0

我正在使用以下代码使设备在单击按钮时振动 10 秒,但是,如果用户不小心按下了硬件后退按钮或选项按钮,则可以停止振动。我该如何克服呢?提前致谢

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

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

在安卓 5.0上测试

4

2 回答 2

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();

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

向:

Android中的振动器,应用退出时停止

于 2015-08-12T13:39:39.393 回答
0

只需覆盖 OnBackPressed 并删除 super.onBackPressed 这将禁用硬件后按按钮...

@Override
public void onBackPressed() {
    //super.onBackPressed();
}
于 2015-08-12T12:47:45.143 回答