我的蓝牙应用程序意外停止工作....这是一个相当小的程序

时间:2012-01-17 02:34:51

标签: android

我的蓝牙应用程序意外关闭时遇到问题....

代码可以成功执行以下操作....

(1)获取蓝牙适配器 (2)启用蓝牙适配器

尝试查询配对设备时似乎出现问题....

问题似乎出现在代码块发生的代码的末尾....

Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();  
// If there are paired devices
if (pairedDevices.size() > 0) {        
// Loop through paired devices    
    for (BluetoothDevice device : pairedDevices) {       
        // Add the name and address to an array adapter to show in a ListView
        mArrayAdapter.add(device.getName() + "\n" + device.getAddress());    
    }
}

以下是完整的代码:

Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();  
// If there are paired devices
if (pairedDevices.size() > 0) {        
// Loop through paired devices    
    for (BluetoothDevice device : pairedDevices) {       
        // Add the name and address to an array adapter to show in a ListView
        mArrayAdapter.add(device.getName() + "\n" + device.getAddress());    
    }
}

1 个答案:

答案 0 :(得分:1)

这看起来像Android docs

中的代码

您的应用程序中是否有一个具有列表视图且mArrayAdapter不为空的活动? 通过使用记录器函数Log.i()或仅System.out编写信息可能值得测试,以确保获得预期的输出。

如果失败,可能是没有蓝牙设备,或者mBluetoothAdapter为空或未启用导致应用程序强行关闭。

编辑:评论部分尝试格式化代码非常糟糕。你尝试过这样的事吗?

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();

if (pairedDevices.size() > 0) {    
    for (BluetoothDevice device : pairedDevices) {     
        Log.i("BluetoothApp", device.getName() + "\n" + device.getAddress());
    }
}

数据应出现在Eclipse的LogCat部分中。