我试图了解有关指示灯及其使用方法的更多信息,所以我正在创建一个应用程序,以在出现不同的通知时使指示灯闪烁不同的颜色。问题是,如果某个通知已经在控制指示灯,则我不能做自己的事情,是否有阻止它的其他应用程序或覆盖它们的方法?
这是我的通知侦听器代码
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());
}
}
最佳答案
我正在创建一个应用程序,以在出现不同的通知时使指示灯闪烁不同的颜色
这不太可能很好地工作。例如,您不能将指示灯添加到缺少该指示灯的硬件中,也不能将您的应用程序过滤为仅适用于具有指示灯的设备。
是否有阻止它的其他应用程序或覆盖它们?
不能。您也不能阻止设备将指示灯用于其他目的,例如充电状态。