gpt4 book ai didi

Android蓝牙崩溃应用程序

转载 作者:行者123 更新时间:2023-11-29 01:15:57 25 4
gpt4 key购买 nike

在使用 device.getName() 时遇到一些问题。由于某种原因导致我的应用程序崩溃。

我正在做的是在对话框中显示一个适配器(包含蓝牙名称)。当我运行应用程序并添加 device.getAdress() 而不是 - .getName() 时,应用程序工作正常,但是当使用 .getName() 它崩溃了。

mBluetoothAdapter.startDiscovery();
receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();

if (BluetoothDevice.ACTION_FOUND.equals(action)) {
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

toothadapter.add(device.getName());
toothadapter.notifyDataSetChanged();
}
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(bluetooth.this);
builder.setTitle("Nearby Devices:");
builder.setAdapter(toothadapter, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {

}
});
AlertDialog alert = builder.create();
alert.show();

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

真的需要一些帮助来解释为什么会这样。上面的代码全部包含在 buttonListener 中的 onCreate() 中。

最佳答案

Really need some help as to why this is happening.

如果不查看堆栈跟踪,几乎不可能确定导致应用程序崩溃的原因。

但是请注意 BluetoothDevice.getName()返回 null如果“有问题”。我们知道(从您收到的 Toast 通知)该方法返回 null在应用程序中。这些null这可能是也可能不是崩溃的原因。

此外,null的地方设备名称不能导致NPEArrayAdapter .当您调用 new ArrayAdapter<String>(Context, int)以下constructor被调用:

public ArrayAdapter(Context context, int resource) {
init(context, resource, 0, new ArrayList<T>());
}

用于存储数据的数据结构是ArrayList谁的 add() 的方法实现允许添加 null而不是 List<> add() 方法声明。

关于Android蓝牙崩溃应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39693626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com