android安卓蓝牙配置

糖醋咸鱼 2017-10-11 08:45:13
public class MainActivity extends AppCompatActivity {
private ArrayAdapter<String>adapter;
private ListView listView;
private BluetoothAdapter myblue = BluetoothAdapter.getDefaultAdapter(); //定义蓝牙适配器
private BroadcastReceiver mReceiver = new BroadcastReceiver() { //自定义广播类
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(BluetoothDevice.ACTION_FOUND.equals(action)){
Toast.makeText(MainActivity.this, "发现设备", Toast.LENGTH_SHORT).show();
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
adapter.add(device.getName()+"\n"+ device.getAddress());
listView.setAdapter(adapter);
}
}
};

protected void onCreate(Bundle savedInstanceState) { //onCreate
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //加载界面

adapter=new ArrayAdapter<String>(
MainActivity.this,android.R.layout.simple_list_item_1); //定义适配器
listView=(ListView)findViewById(R.id.list); //定义listview

Button button0=(Button)findViewById(R.id.open_button); //打开蓝牙操作
button0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!myblue.isEnabled()){ //弹出对话框提示用户是后打开
Intent enabler = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enabler, 1);
}
}
});

Button button1=(Button)findViewById(R.id.check_button); //显示已经配对的蓝牙
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = myblue.getName();
String address = myblue.getAddress();
Set<BluetoothDevice> devices = myblue.getBondedDevices();
for(BluetoothDevice bonddevice:devices){
adapter.add(bonddevice.getName()+"\n"+ bonddevice.getAddress());
listView.setAdapter(adapter);
}
}
});
Button button2=(Button)findViewById(R.id.add_button); //搜索蓝牙设备
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(mReceiver, filter);//不要忘了在onDestory中unregister
myblue.startDiscovery();
}
});
}
}
上面程序执行myblue.startDiscovery();之后,打印不了设备信息出来,请问这是什么问题
...全文
69 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧