我正在尝试了解有关指示灯以及如何使用指示灯的更多信息,因此我创建了一个应用程序,当不同的通知出现时,指示灯闪烁不同的颜色。问题是如果通知已经控制指示灯我不能做我自己的事情,无论如何阻止其他应用程序或覆盖它们?
这是我的通知监听器代码
public class NotificationListener extends NotificationListenerService
{
private final String TAG = "NotificationListenerTestingTag";
private NotificationManager notifMgr;
@Override
public void onCreate()
{
super.onCreate();
Log.v(TAG, "Service Created");
// Get the Notification Manager
notifMgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
}
@Override
public void onNotificationPosted(StatusBarNotification n)
{
Log.i(TAG, "Notification Posted: " + n.getPackageName());
// Turn on indicator light
Notification ledControll = new Notification();
ledControll.ledARGB = Color.argb(255, 0, 255, 0);
ledControll.flags |= Notification.FLAG_SHOW_LIGHTS;
ledControll.priority = Notification.PRIORITY_MAX;
ledControll.ledOnMS = 200;
ledControll.ledOffMS = 300;
notifMgr.notify(n.hashCode(), ledControll);
}
@Override
public void onNotificationRemoved(StatusBarNotification n)
{
Log.i(TAG, "Notification Removed: " + n.getPackageName());
// Turn off indicator light
notifMgr.cancel(n.hashCode());
}
}
答案 0 :(得分:1)
我正在创建一个应用程序,当不同的通知出现时,指示灯闪烁不同的颜色
这不太可能奏效。例如,您无法向缺少指示灯的硬件添加指示灯,并且您无法将应用程序过滤为仅适用于具有指示灯的设备。
无论如何阻止其他应用程序或覆盖它们?
没有。您也无法阻止设备将指示灯用于其他目的,例如充电状态。