我正在尝试改编优秀书籍Getting Started with Bluetooth Low Energy中的一个例子。
以下是他们的MainActivity.java,这是他们的res/menu/main.xml:
<item android:id="@+id/action_scan"
android:showAsAction="always"
android:title="Scan"></item>
<item android:id="@+id/action_stop"
android:showAsAction="always"
android:title="Stop"></item>
然而,在我自己的应用中,我想使用ListActivity
作为主MainActivity.java
的基础分支(因为我想在主列表中显示找到的蓝牙设备)。
这会导致我的应用程序崩溃并显示模糊的错误消息:
java.lang.RuntimeException:无法启动活动 ComponentInfo {de.afarber.mynotification / de.afarber.mynotification.MainActivity}: 显示java.lang.NullPointerException
我想这是因为我想在ActionBar
中显示“扫描”和“停止”按钮,但我没有使用ActionBarActivity
作为基类。
有没有办法解决它仍然使用ListActvivity
?
答案 0 :(得分:0)
好吧我在创建它之前尝试使用mBlewWrapper
: - )
if (mBleWrapper.checkBleHardwareAvailable() == false) {
Toast.makeText(this,
R.string.no_ble_hardware,
Toast.LENGTH_LONG).show();
finish();
}
mBleWrapper = new BleWrapper(this, new BleWrapperUiCallbacks.Null() {
@Override
public void uiDeviceFound(final BluetoothDevice device,
final int rssi,
final byte[] record) {
Log.d("uiDeviceFound", device.getName()+", "+
rssi+", "+record.toString());
}
});
感谢CommonWare的评论和+1。