2011-06-13 62 views
0

我的應用程序的主要目的是將智能手機變成一種智能尋呼機(有一個關聯的網絡應用程序,但這不是Android應用程序的目的)。我使用內置於Android的通知系統來處理提醒用戶他們已收到頁面。快速通知沉默

我的問題是,客戶希望:

  1. 通知振鈴,直到確認(容易與FLAG_INSISTENT完成)
  2. 一個簡單的方法1按下按鈕來關閉鈴聲永遠響。由於他們工作的性質,按下電源按鈕,滑動以解鎖並拖動通知欄,實際上並非總是可行。我需要複製尋呼機的行爲。

我需要找到一種方法來滿足第二個要求。如果我有一個活動正在運行,它看起來像我可以掛在按鍵上,但是當收到通知時,屏幕可能會關閉。我目前正在研究這個問題,但我想知道是否有人在此期間提供了一些指導。

有沒有人有關於如何實現這一目標的想法?是否有其他方法來聽按鍵,或一些創意組合的標誌可以讓我在那裏?

對於Market應用程序通常會皺眉的技術完全在桌面上,因爲這些電話由我的僱主擁有,並且只能由其他員工使用。我只是想避免使用私有或不贊成使用的API來爲最終繼承此項目的開發人員更輕鬆地切換手機型號。

謝謝大家的閱讀!

回答

1

有沒有人有關於如何實現這一目標的想法?

您必須持有WakeLock,特別是FULL_WAKE_LOCK,才能響應按鈕按下。這意味着電池的使用壽命將會非常糟糕,除非您對此有所限制(例如,將WakeLock保持一兩分鐘,否則假設用戶不在設備附近,因此請勿保持清醒狀態)。

您還需要嘗試使用KeyguardManager來中斷鍵盤鎖。我沒有這樣做,所以我不知道所有的細節。您的「觀看魔術按鈕」邏輯必須位於鍵盤保護程序頂部的活動中。另外,請記住,並非所有的Android設備都有物理按鈕 - 事實上,如果整個物理按鈕隱喻在今年晚些時候會與「冰淇淋三明治」一起「噗噗」,我也不會感到驚訝。因此,該按鈕確實應該是屏幕上的Button,以備將來使用。

+0

謝謝你的好主意。我認爲開展「通知」活動聽起來很有吸引力,可以作爲改善手頭體驗的一種方式,儘管我的完美解決方案可以讓他們將手機放在口袋裏或夾在腰帶上。 – WorkerThread 2011-06-13 20:41:46

+0

我正在考慮持續30秒左右的喚醒鎖,並使用KeyguardManager解鎖屏幕,並通過巨大的「確認」按鈕或其他方式顯示活動,這樣他們可以嘗試將它們放入口袋中。我還會聽電源按鈕。 – WorkerThread 2011-06-13 20:56:10

+0

@WorkerThread:您無法聽取電源按鈕。 – CommonsWare 2011-06-13 21:04:25