Android中的屏幕锁定模式时,振动不起作用

时间:2016-07-21 12:37:07

标签: android android-layout android-studio android-audiomanager vibrate

我想在锁定屏幕时开始振动。 唤醒锁定时我的屏幕打开/工作。 我的问题是屏幕锁定模式时振动不起作用。如果设备锁定已打开,则工作。

  

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)
        {

       }
    }

2 个答案:

答案 0 :(得分:0)

尝试使用通知:

hard-light

答案 1 :(得分:0)

根据Vibrator Documentation - 它说:

  

如果您的流程退出,您启动的任何振动都将停止。

因为它有自己的SystemService - 我认为没有" clean"解决这个问题的方法