该程序用于发现范围内的蓝牙设备并在android中显示它们

该程序用于发现范围内的蓝牙设备并在android中显示它们,android,bluetooth,device,discovery,Android,Bluetooth,Device,Discovery,我想设计一个蓝牙遥控器,但当我点击搜索按钮时,它不会搜索设备,或者它会搜索但不会显示任何设备 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Button button1 = (Button) findViewById(R.id.bu

我想设计一个蓝牙遥控器,但当我点击搜索按钮时,它不会搜索设备,或者它会搜索但不会显示任何设备

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final Button button1 = (Button) findViewById(R.id.button1);
    final BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    final ArrayAdapter<String> mArrayAdapter=new ArrayAdapter<String>(this,R.layout.activity_main);
    button1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            if(!mBluetoothAdapter.isEnabled())
            {
                Intent enableBtIntent=new 
                        Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
                startActivityForResult(enableBtIntent,REQUEST_ENABLE_BT);
            }
            mBluetoothAdapter.startDiscovery(); 
            BroadcastReceiver mReceiver = new BroadcastReceiver() {
            public void onReceive(Context context, Intent intent) {
                String action = intent.getAction();
                if (BluetoothDevice.ACTION_FOUND.equals(action)) 
                {
                    // Get the BluetoothDevice object from the Intent
                    BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                    // Add the name and address to an array adapter to show in a ListView
                   mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
                }
              }
            };

            IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND); 
            registerReceiver(mReceiver, filter);
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
最终按钮button1=(按钮)findViewById(R.id.button1);
final BluetoothAdapter mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();
最终ArrayAdapter MarrayaAdapter=新的ArrayAdapter(此,R.layout.activity_main);
button1.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图arg0){
//TODO自动生成的方法存根
如果(!mBluetoothAdapter.isEnabled())
{
Intent enableBtIntent=新建
意图(BluetoothAdapter.ACTION\u REQUEST\u ENABLE);
startActivityForResult(启用BTIntent、请求\启用\ BT);
}
mBluetoothAdapter.startDiscovery();
BroadcastReceiver mReceiver=新的BroadcastReceiver(){
公共void onReceive(上下文、意图){
String action=intent.getAction();
if(BluetoothDevice.ACTION_FOUND.equals(ACTION))
{
//从Intent获取BluetoothDevice对象
BluetoothDevice=intent.getParcelableExtra(BluetoothDevice.EXTRA\u设备);
//将名称和地址添加到要在列表视图中显示的阵列适配器
mArrayAdapter.add(device.getName()+“\n”+device.getAddress());
}
}
};
IntentFilter筛选器=新的IntentFilter(BluetoothDevice.ACTION\u已找到);
registerReceiver(mrReceiver,过滤器);
}
});
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
}

是否尝试调试并查看是否调用过onReceive()?周围有可见的蓝牙设备吗?是的,我在范围内保留了许多可见设备。。