我想在锁定屏幕时开始振动。 唤醒锁定时我的屏幕打开/工作。 我的问题是屏幕锁定模式时振动不起作用。如果设备锁定已打开,则工作。
onCreate()
KeyguardManager myKM = (KeyguardManager) getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE);
if( myKM.inKeyguardRestrictedInputMode()) {
//it is locked
Log.e("Incomimg","Device Locked");
onStartVibrate();
} else {
//it is not locked
Log.e("Incomimg","Device Not Locked");
}
见下文方法适用于振动打开/关闭
public void onStartVibrate()
{
long[] pattern = {500, 250, 0 ,100,0, 250, 500};
vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(pattern,0);
}
public void onStopVibrate(){
try{
vibrator.cancel();
}catch (Exception ex)
{
}
}
答案 0 :(得分:0)
尝试使用通知:
hard-light
答案 1 :(得分:0)
根据Vibrator Documentation - 它说:
如果您的流程退出,您启动的任何振动都将停止。
因为它有自己的SystemService - 我认为没有" clean"解决这个问题的方法