关于以下片段的一些解释:
我正在处理一些蓝牙发现调用。为此,我使用了一个回调,如果 aBluetoothDevice
被发现或没有,它将被调用。如果未找到设备,则参数为空:
@Override
public void provideDevice(BluetoothDevice device) {
super.provideDevice(device);
Log.v("MainActivity","device name = " +device.getName());
if(device != null) {
mBinder.start(device);
} else {
Toast.makeText(this, "No Device found", Toast.LENGTH_SHORT).show();
}
}
Eclipse 告诉我 else 块是死代码。
如果我Log
在 if-block 中移动呼叫,则警告消失:
@Override
public void provideDevice(BluetoothDevice device) {
super.provideDevice(device);
if(device != null) {
Log.v("MainActivity","device name = " +device.getName());
mBinder.start(bc);
} else {
Toast.makeText(this, "No Device found", Toast.LENGTH_SHORT).show();
}
}
我知道如果参数为空,第一个片段会抛出 NPE。这不是这个例子中的问题。
我想知道为什么会dead code warning
出现。
如果这还不足以告诉我发生了什么,我可以提供完整的代码。