我的理解是,「行爲良好」的Android應用程序將在onPause()中註銷其廣播接收器。但是,當您啓用藍牙可發現性時,這很複雜。Android藍牙可發現性和意圖
假設我的行爲良好的Activity在其onPause()中取消註冊它的BLUETOOTH_SCAN_MODE_CHANGED接收器。然後,用戶點擊應用程序內的按鈕,使可發現並運行這些代碼:
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
startActivity(discoverableIntent);
在我遇到到目前爲止,廣播意圖之前我活動的的onResume解僱所有情況下()方法這意味着它在我的活動重新註冊其接收器之前被觸發,並且該活動沒有收到藍牙被發現的廣播意圖。
我的解決方法是隻保留廣播意圖,即不要在onPause()中註銷它。
我的問題是:是否有更好的解決方法?在onPause()和onResume()之間註冊廣播接收者實際上是不好的?謝謝!