有谁知道如何在Android中以编程方式检查是否有任何通知?
我想检查通知列表中是否有当前可用的通知。
例如,如果有任何通知,则LED指示灯将亮起,如果清除通知列表,则LED指示灯将熄灭。
我只想知道允许我们检查通知列表中是否有任何通知的条件或代码。
if(条件 - 有任何通知)
//我的代码
答案 0 :(得分:3)
您可以使用适用于Android 4.3及更高版本的NotificationListener
API。要做到这一点,您只需创建一个扩展Service
的简单NotificationListenerService
。
以下是一些示例代码
import android.service.notification.NotificationListenerService;
import android.service.notification.StatusBarNotification;
import android.util.Log;
public class NLService extends NotificationListenerService {
private String TAG = this.getClass().getSimpleName();
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
Log.i(TAG, "Notification posted");
Log.i(TAG, "ID :" + sbn.getId() + "t" + sbn.getNotification().tickerText + "t" + sbn.getPackageName());
}
@Override
public void onNotificationRemoved(StatusBarNotification sbn) {
Log.i(TAG, "Notification Removed");
Log.i(TAG, "ID :" + sbn.getId() + "t" + sbn.getNotification().tickerText + "t" + sbn.getPackageName());
}
}
有完整的教程here
在此Android版本之前,您可以按照AccessibilityService所述的here进行黑客攻击