0

我的应用程序中有一个复选框,它执行启用\禁用蓝牙..问题是如果我从 android 设置(在此应用程序之外)打开\关闭,那么该复选框不会更新,例如如果在应用程序中选中复选框意味着蓝牙已启用所以现在如果我从切换或系统->设置禁用蓝牙,然后转到我的应用程序,那么该复选框仍然被选中......如何获得该框的正确状态..(使用片段)

final BluetoothAdapter myBTadapter;
final Integer REQ_BT_ENABLE=1;
CheckBox enable;

myBTadapter=BluetoothAdapter.getDefaultAdapter();
enable=(CheckBox)vv.findViewById(R.id.cboxEnable);
enable.setOnCheckedChangeListener(new OnCheckedChangeListener(){
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked){    
        if(buttonView.isChecked()){
            if(myBTadapter==null){
                Toast.makeText(getActivity().getApplicationContext(),
                        "Device doesn't support Bluetooth",
                        Toast.LENGTH_LONG).show();
            }
            else{
                if(!myBTadapter.isEnabled()){
                    Intent enableBtIntent = new Intent(BluetoothAdapter.); 
                    startActivity(enableBtIntent);
                }
            }
        }
        else{
            Toast.makeText(getActivity().getApplicationContext(),
                    "Disabling Bluetooth!!", Toast.LENGTH_LONG).show();
            myBTadapter.disable();
        }
    }
});
4

1 回答 1

0

在 onResume() 方法中试试这个:

if(myBTadapter.isEnabled()) {
    enable.setChecked(true); 
} else {
    enable.setChecked(false); 
}
于 2013-06-09T16:26:03.233 回答