0

Ich wan, Vibrate When Locked Screen zu starten. Mein Bildschirm ist geöffnet/funktioniert wenn Wake Lock. Meine Frage ist, dass Vibrieren nicht funktioniert, wenn der Bildschirm gesperrt ist. Wenn das Gerät gesperrt ist, funktioniert es.Vibrieren funktioniert nicht, wenn der Bildschirm gesperrt Modus in Android

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"); 
     } 

Im Folgenden Methoden finden sind für Vibrieren on/off

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

Ist es nur der Vibrator oder das Protokoll zu lösen? – AxelH

Antwort

0

versuchen, mit Benachrichtigungen:

try { 

      long[] pattern = {500, 250, 0 ,100,0, 250, 500}; 
      Notification noti = new Notification.Builder(this) 
        .setVibrate(pattern) 
        .build(); 
      NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
      manager.notify(1, noti); 
     }catch(Exception vv) 
     { 
      Log.i("not vibrating",vv.getLocalizedMessage()); 
     } 
+0

Sorry, es funktioniert nicht. Ich bin die Implementierung von eingehenden Anruf Bildschirm vibriert funktioniert, aber Gerät gesperrt, dann funktioniert nicht, was ist das Problem? –

+0

versuchte es auch und Sie müssen eine 'setSmallIcon' hinzufügen, um es zu starten. Dann beendet es immer noch die Vibration, wenn das Gerät gesperrt wird – Maxi

0

Nach dem Vibrator Documentation - es sagt, dass:

Wenn Ihr Prozess beendet wird, jede Vibration Sie stoppt gestartet.

Wie es seinen eigenen Systemservice hat - ich denke, dass es keine „saubere“ Art und Weise ist dieses Problem

Verwandte Themen