2011-09-13 45 views
2

在我的android應用程序中,用戶有可能通過他的android手機通過另一個設備的藍牙進行固件更新。是否有可能檢測到用戶將在Android上關閉藍牙?

我的問題是:是否有可能檢測到用戶嘗試關閉藍牙並向他發送如下警告消息:「關閉藍牙的警告將中斷固件更新!」

隨着BluetoothAdapter廣播事件:

公共靜態最後絃樂ACTION_STATE_CHANGED

自:API級別5廣播事件:本地藍牙適配器 的狀態已經改變。例如,藍牙已打開或關閉。始終包含分別包含新舊狀態 的額外字段EXTRA_STATE和 EXTRA_PREVIOUS_STATE。需要BLUETOOTH才能收到。
常數值:「android.bluetooth.adapter.action.STATE_CHANGED」

這是唯一可以接收廣播一旦藍牙已經關閉(所以它是爲時已晚警告^^)

任何幫助將不勝感激! 祝你好運

+0

您無法預測用戶是否會關閉藍牙。這取決於用戶。然而,我不確定哪些意圖(如果有的話)是在給出命令時播放的......雖然我已經在藍牙工作了一段時間,所以我不知道這一切,對不起。 – ThaMe90

+0

目標是當用戶點擊「關閉藍牙」按鈕之前不會發送消息給用戶(所以這不是預測)。但我不確定是否有可能阻止關閉命令並向他發送警告消息... – Laurent

+0

如果您知道在點按該按鈕時系統通過系統廣播了什麼Intent,則可能。然後,您可以爲該特定意圖註冊一個接收器,並在那裏發出警告。 – ThaMe90

回答

1

你應該在固件更新開始時顯示這樣的關鍵信息。之後,如果用戶關閉藍牙,那麼他的責任。他不能指責你的軟件有任何損失。

我不認爲我們被允許阻止諸如關閉藍牙等操作。允許這種阻止會讓它開放給黑客。惡意應用可能會阻止用戶關閉他的藍牙。

+0

固件更新開始時有一條警告消息,但如果用戶仍然關閉藍牙,設備將被鎖定在「固件更新」狀態,並且將不再可用於我們的客戶。我同意他的責任,但客戶將不得不向我們發送他的設備,我們將不得不手動完成更新......這意味着我們需要更多的工作和我們的客戶的費用。所以我試圖找到一個解決方案來避免這種情況。 – Laurent

+0

我不認爲我們被允許阻止這樣的行動。允許這種阻止會讓它開放給黑客。惡意應用可能會阻止用戶關閉他的藍牙。 – Ronnie

+0

它是有道理的。所以我認爲我唯一的選擇是發送失敗的消息並重新開始從開始的固件更新...謝謝! – Laurent

相關問題