2013-03-19 137 views
3

我遇到以下問題。我想要檢測何時從通知欄中刪除通知。檢測通知是否已被刪除

我可以掃描通知與AccessbilityService和鑄造其ParcelableData來通知我的

Notification notif = (Notification) event.getParcelableData(); 

唯一的想法是,如果利用該通知的的PendingIntent已被點擊,但我無法找到任何東西如何檢測。

任何想法?我有點絕望......現在嘗試幾個小時。

+0

你會發現你的答案http://stackoverflow.com/questions/8811876/notification-deleteintent-does-not-work – 2013-03-19 16:50:54

+0

我其實不找我自己的通知來獲得檢測。我正在尋找其他軟件包/應用程序的通知刪除... – Aeefire 2013-03-19 16:59:38

回答

1

一個非常類似的問題已經在這裏回答了SO:

Detect a new Android notification

總之,這是可能的一個新的通知出現時檢測,但僅此而已。您無法檢測通知何時被解僱。

+0

hmpf。也許我應該採取一種方法,通過這裏:http://gmariotti.blogspot.co.uk/2013/02/how-to-write-dashclock-extension_23.html?m=1 – Aeefire 2013-03-19 18:17:34

+0

這基本上是我的第一個答案鏈接。毫無疑問,這個鏈接提供了激勵。 – 2013-03-19 21:59:19

1

據我所知,除非你有根,否則這是不可能的,但從剛剛發佈的android 4.3開始,這是可能的。這裏有一些鏈接:

android developers blog

通知使用權 - 您的應用程序現在可以訪問並與狀態欄的通知 流,因爲它們都貼交互。您可以以任何您想要的方式顯示 ,包括將它們路由到附近的藍牙 設備,並且您可以根據需要更新和解除通知。

android developer website

採用Android 4.3增加了新的服務類別,NotificationListenerService, ,讓您的應用程序接收有關的 它們由系統發佈的新通知的信息。

如果您的應用當前使用輔助功能服務API訪問 系統通知,則應更新您的應用以使用這些API 。

android developer website - API description

訪問通知

通知早就有流行的Android功能,因爲他們 讓用戶看到來自全國各地的系統信息和更新,都在 一個地方。現在,在Android 4.3中,應用可以通過用戶的許可觀察 通知流,並以任何他們想要的方式顯示通知 ,包括將它們發送到通過藍牙連接的附近設備 。

您可以通過新的API訪問通知,這些通知可讓您註冊 通知偵聽器服務並獲得用戶的許可,並在狀態欄中顯示通知時接收 通知。通知 將全部發送給您,包含原始應用的所有詳細信息, 發佈時間,內容視圖和樣式以及優先級。您可以通過 評估通知中感興趣的字段,處理或從您的應用添加 上下文,並以您選擇的任何方式將它們路由顯示。

當新的API添加,更新, 並刪除(或者因爲用戶解僱它或原始的 應用程序撤回它),新API會爲您提供回調。您將能夠啓動附加到 通知或其操作的任何意圖,並將其從系統中解除, 允許您的應用程序提供完整的用戶界面以通知 。

,當然,這種新的偵聽器的API文檔,在this link