如何让Android应用程序优先使用指示灯

时间:2013-12-20 16:59:25

标签: java android

我正在尝试了解有关指示灯以及如何使用指示灯的更多信息,因此我创建了一个应用程序,当不同的通知出现时,指示灯闪烁不同的颜色。问题是如果通知已经控制指示灯我不能做我自己的事情,无论如何阻止其他应用程序或覆盖它们?

这是我的通知监听器代码

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());

    }

}

1 个答案:

答案 0 :(得分:1)

  

我正在创建一个应用程序,当不同的通知出现时,指示灯闪烁不同的颜色

这不太可能奏效。例如,您无法向缺少指示灯的硬件添加指示灯,并且您无法将应用程序过滤为仅适用于具有指示灯的设备。

  

无论如何阻止其他应用程序或覆盖它们?

没有。您也无法阻止设备将指示灯用于其他目的,例如充电状态。