2012-03-25 17 views
0

Mein altes Nokia Telefon hat Hardwaretasten blinken, wenn ich einen Anruf verpasste. So konnte ich verstehen, dass ich einen Anruf verpasst habe, indem ich einfach nur telefoniert habe. Mit meinem neuen Android-Telefon muss ich mein Telefon erreichen und den Bildschirm wecken, um zu sehen, ob ich einen Anruf verpasst habe.Android - blinkende Hardwaretasten für verpasste Anrufe

Ich habe Android-Markt gesucht, konnte aber keine genaue Anwendung finden, um mein Problem zu lösen. Also habe ich beschlossen, es zu schreiben. Die Frage ist, wie kann ich die Rückseite der Hardware-Tasten eines Android-Telefons ein- und ausschalten?

Ich habe es gegoogled, konnte aber keine saubere Antwort finden.

Vielen Dank im Voraus.

Antwort

1

Android hat notifications für diesen Zweck, die Hintergrundbeleuchtung ist nicht gedacht, durch die API gesteuert werden (Sie könnten es auf gerootete Geräte tun, aber das ist eine andere Geschichte).

Persönlich bekomme ich dedinely Benachrichtigungen für verpasste Anrufe, und meine Benachrichtigungs-LED blinkt. Allerdings können Sie Ihre eigenen Mitteilungen implementieren:

NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 

// create a new notification 
CharSequence tickerText = "Missed call"; 
long when = System.currentTimeMillis(); 
Notification notification = new Notification(icon, tickerText, when); 

// control how the notification led should behave 
notification.ledARGB = 0xff00ff00; 
// blink for 300ms every 1s 
notification.ledOnMS = 300; 
notification.ledOffMS = 1000; 
notification.flags |= Notification.FLAG_SHOW_LIGHTS; 

// usually you also want to create a PendingIntent and attach it 
// with notification.setLatestEventInfo 

// finally, post the notification to the notification manager 
notificationManager.notify(HELLO_ID, notification); 

Es gibt viele andere Optionen für Benachrichtigungen, wie Vibrationen oder FLAG_AUTO_CANCEL, aber sie sind documented very well ;-)


Auf einem verwurzelten Gerät, könnten Sie Führen Sie die folgende Hintergrundbeleuchtung zu steuern (allerdings würde ich empfehlen, auf die vorgesehene Art und Weise haften, die Benachrichtigungen sind):

su 
echo 25 > /sys/class/leds/button-backlight-portrait/currents 
echo 25 > /sys/class/leds/button-backlight-landscape/currents 

wo 25 wäre die Helligkeit. Aber ich weiß nicht genau, ob das überhaupt funktioniert auf alle Geräte.