您将需要注册一个
BroadcastReceiver来监听状态的任何变化
BluetoothAdapter:
作为您的私有实例变量
Activity(或在单独的类文件中,…首选):
private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) { final int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR); switch (state) { case BluetoothAdapter.STATE_OFF: setButtonText("Bluetooth off"); break; case BluetoothAdapter.STATE_TURNING_OFF: setButtonText("Turning Bluetooth off..."); break; case BluetoothAdapter.STATE_ON: setButtonText("Bluetooth on"); break; case BluetoothAdapter.STATE_TURNING_ON: setButtonText("Turning Bluetooth on..."); break; } } }};请注意,这是假设您
Activity实现的方法
setButtonText(String text)将相应地更改
Button的文本。
然后在您的中
Activity,注册并注销
BroadcastReceiver以下内容,
@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Register for broadcasts on BluetoothAdapter state change IntentFilter filter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED); registerReceiver(mReceiver, filter);}@Overridepublic void onDestroy() { super.onDestroy(); // Unregister broadcast listeners unregisterReceiver(mReceiver);}


