2015-04-27 76 views
1

有誰知道如何檢查在android中是否有編程的通知?如何檢查在android中是否有編程的通知?

我想檢查通知列表中是否有任何當前可用的通知。

例如,如果有任何通知,LED指示燈將亮起,並且如果通知列表被清除,則LED指示燈將熄滅。

我只想知道允許我們檢查通知列表中是否有可用通知的條件或代碼。

如果(條件 - 有任何通知)

//我的代碼

+0

這裏是答案:[stack question] [1] [1]:http://stackoverflow.com/questions/3630733/how-to-check-which-notifications-are-active-in-status-bar-in-android-dev 這是可能的,因爲4.3+ – kamilmasta

回答

2

您可以使用NotificationListener API,它可以在Android 4.3以上版本。要做到這一點,您只需簡單地創建一個簡單的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

相關問題