在Eclipse中扫描适用于Android的可用蓝牙设备

时间:2011-10-25 00:25:55

标签: android eclipse bluetooth android-arrayadapter

我想扫描可用的蓝牙设备并将其显示在列表中。我是andriod开发的新手。我想ArrayAdapter存在一些问题,但无法弄清楚确切的问题。

当我运行程序时,我收到异常The application stops unexpectedly。你能帮我解决这个问题。

     button2.setOnClickListener(new View.OnClickListener() 
            {
                @SuppressWarnings("null")
                public void onClick(View v) 
                {
                    ListView lv1 = (ListView) findViewById(R.id.myListView1);
                    BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
                    // TODO Auto-generated method stub

                    Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
                    // If there are paired devices
                    if (pairedDevices.size() > 0) 
                    {
                        // Loop through paired devices
                        for (BluetoothDevice device : pairedDevices) 
                        {
                            ArrayAdapter<String> mArrayAdapter = null;
                            // Add the name and address to an array adapter to show in a ListView
                            mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
                            /*final ArrayList<String> btDevices = new ArrayList<String>();
                            ArrayAdapter<String> aa = new ArrayAdapter<String>(CalcActivity.this,
                                    android.R.layout.simple_list_item_1,
                                    btDevices);
*/
                            lv1.setAdapter(mArrayAdapter);
                        }
                    }
                }
            });

我在mArrayAdapter.add(device.getName() + "\n" + device.getAddress());

时遇到异常

修改  克制了我的代码,但我仍然无法弄清楚问题。

Discovering available bluetooth devices in android

2 个答案:

答案 0 :(得分:0)

确保您在清单文件中包含BluetoothBluetooth_Admin权限。

答案 1 :(得分:0)

我的错误我猜是arrayadapter尚未初始化 所以初始化它(为它指定arrayadapter 的有效引用),如下所示

ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_single_choice,android.R.id.text1,list_names);

所以现在使用它来填充蓝牙设备的列表视图......