2012-06-09 91 views
1

我寫了一個小應用程序與藍牙設備進行通信。當我啓動應用程序時,藍牙將自動啓用。我這樣做與此代碼:Android自動啓用藍牙 - >應用程序需要重新啓動,以便與藍牙正常工作

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
    if (!mBluetoothAdapter.isEnabled()) { 
     Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); 
     startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); 
    } 
} 

但自動啓用藍牙後直接在我的應用程序我不能使用藍牙。我必須重新啓動應用程序或轉動我的應用程序正常工作的屏幕。

我嘗試這種解決方法啓用藍牙後重新啓動活動:

public void onCreate(Bundle savedInstanceState) { 
.... 
    Intent intent = getIntent(); 
    finish(); 
    startActivity(intent); 
} 

但我的應用程序將只關閉,而不是重新開始。有沒有人有一個想法如何解決這個問題,我不能使用藍牙,當我啓用它與應用程序啓動?

感謝

乾杯

菲利克斯

回答

1

「但自動啓用藍牙後直接在我的應用程序我不能使用藍牙。」

啓用藍牙需要一點時間。您應該監聽BluetoothAdapter.ACTION_STATE_CHANGED意圖,以查看實際啓用適配器的時間。

+0

謝謝。這有幫助! – user1446021