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.