初学Android之小随笔1

初学安卓蓝牙通讯方面的知识,然后想把自己每天学习的东西记录下来,不管详细与否,权当练笔吧。

private ToggleButton tBtnBTSwitch;//双状态按钮开关,
tBtnBTSwitch = (ToggleButton)findViewById(R.id.tBtnBTSwitch);//
if(mBTAdapter.getState()==BluetoothAdapter.STATE_OFF)//获取蓝牙设备开关状态
    tBtnBTSwitch.setChecked(false);
if(mBTAdapter.getState()==BluetoothAdapter.STATE_ON)
    tBtnBTSwitch.setChecked(true);

一些定义,然后就是获取BluetoothAdapter的状态,显示ToggleButton控件的内容,接着就是通过OnClickListener事件,判断蓝牙设备的状态,并显示我们需要的。


tBtnBTSwitch.setOnClickListener(new OnClickListener(){
            @Override
            public void onClick(View view){
                // Open BT
                if(tBtnBTSwitch.isChecked()){
                    if(!mBTAdapter.isEnabled()){
                        //Open a new dialog to ask user whether wanna open BT
                        Intent enabler = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
                        startActivityForResult(enabler,REQUEST_ENABLE_BT);    //打开蓝牙               
                    }
                    tBtnBTSwitch.setChecked(true);
                }
                                                                                                                                                       
                // Close BT
                if(!tBtnBTSwitch.isChecked()){
                    if(mBTAdapter.isEnabled()){
                        mBTAdapter.disable();
                        Toast.makeText(BTConnectActivity.this, "BT has been closed!", Toast.LENGTH_SHORT).show();                  
                    }                                                   //关闭蓝牙
                    tBtnBTSwitch.setChecked(false);
                }
            }
        });

在android上开发蓝牙通信的时候,首先需要在Manifest上面添加权限:

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

然后,打开蓝牙,我在这里是添加了一个Button控件,点击后可询问是否开启蓝牙,300s显示可见,并在一个TextView上面显示本设备的MAC地址!:



// TODO Auto-generated method stub
                //if(blueApter == null){
                                                                                                                               
                //}
                //if(!blueApter.isEnabled()){
                    //Intent enableBtIntent =new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
                    //startActivity(enableBtIntent);//打开蓝牙
                                                                                                                               
                //}
                Intent discoverIntent=new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
                //可被检测到300S
                discoverIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,300);
                startActivity(discoverIntent);
                mTextview2.setText(blueApter.getAddress());

MAC地址可以帮助我们快速与需要的设备连接(偷懒的时候可以用,免去搜索步骤)。嘿嘿~上面代码打开蓝牙的程序被我注释掉了,因为我发现,在设置蓝牙可见时也会自行打开蓝牙,之前的步骤多此一举。。。

另外在学习过程中,我import别人的程序时出现如下错误:

003030541.jpg

这主要是SDK版本的问题,在project-Properties-Android中,把下面的Project Build Target修改下,提高版本即可!

003523110.jpg

你可能感兴趣的:(android,笔记,蓝牙设备)