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

在Eclipse中扫描Android可用的蓝牙设备,android,eclipse,bluetooth,android-arrayadapter,Android,Eclipse,Bluetooth,Android Arrayadapter,我想扫描可用的蓝牙设备并在列表中显示它们。我是andriod development的新手。我猜ArrayAdapter有一些问题,但无法找出确切的问题 当我运行程序时,出现异常,应用程序意外停止。你能帮我解决这个问题吗 button2.setOnClickListener(new View.OnClickListener() { @SuppressWarnings("null") public

我想扫描可用的蓝牙设备并在列表中显示它们。我是andriod development的新手。我猜ArrayAdapter有一些问题,但无法找出确切的问题

当我运行程序时,出现异常
,应用程序意外停止。你能帮我解决这个问题吗

     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);
                        }
                    }
                }
            });
button2.setOnClickListener(新视图.OnClickListener()
{
@抑制警告(“空”)
公共void onClick(视图v)
{
ListView lv1=(ListView)findViewById(R.id.myListView1);
BluetoothAdapter mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();
//TODO自动生成的方法存根
设置pairedDevices=mBluetoothAdapter.getBondedDevices();
//如果有配对的设备
如果(pairedDevices.size()>0)
{
//循环通过配对设备
用于(蓝牙设备:pairedDevices)
{
ArrayAdapter mArrayAdapter=null;
//将名称和地址添加到要在列表视图中显示的阵列适配器
mArrayAdapter.add(device.getName()+“\n”+device.getAddress());
/*最终ArrayList btDevices=新ArrayList();
ArrayAdapter aa=新的ArrayAdapter(calActivity.this,
android.R.layout.simple\u list\u item\u 1,
基站设备);
*/
1级设置适配器(mArrayAdapter);
}
}
}
});
我在
mArrayAdapter.add(device.getName()+“\n”+device.getAddress())处遇到异常

编辑: 控制了我的代码,但仍然无法解决问题


确保在清单文件中包含了
Bluetooth
Bluetooth\u Admin
权限。

我猜您的错误是
阵列适配器尚未初始化
因此,像这样初始化它(为它指定一个有效的
arrayadapter
a类引用)

ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_single_choice,android.R.id.text1,list_names);
ArrayAdapter adapter=new ArrayAdapter(这个,android.R.layout.simple\u list\u item\u single\u选项,android.R.id.text1,list\u name);

现在用它来填充蓝牙设备的列表视图…

发布您的LogCat输出。