尝试调用虚拟方法';java.util.Set android.bluetooth.BluetoothAdapter.getBondedDevices()';关于空对象引用
我正在做android应用程序,我需要通过蓝牙与特殊的tablo进行通信 我在尝试调用虚拟方法';java.util.Set android.bluetooth.BluetoothAdapter.getBondedDevices()';关于空对象引用,java,android,nullpointerexception,Java,Android,Nullpointerexception,我正在做android应用程序,我需要通过蓝牙与特殊的tablo进行通信 我在java.lang.NullPointerException 我已经宣布了我需要的一切。我需要做什么 Java类 公共类SearchTableActivity扩展了AppCompative活动{ 列表视图列表视图; 蓝牙适配器mBluetoothAdapter; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState);
java.lang.NullPointerException
我已经宣布了我需要的一切。我需要做什么
Java类
公共类SearchTableActivity扩展了AppCompative活动{
列表视图列表视图;
蓝牙适配器mBluetoothAdapter;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u search\u tablo);
listView=(listView)findViewById(R.id.listView);
mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();
if(mBluetoothAdapter==null){
Toast.makeText(getApplicationContext(),“蓝牙不支持!”,Toast.LENGTH\u SHORT.show();
startActivity(新意图(SearchTabloActivity.this、MainActivity.class));
}
设置pairedDevices=mBluetoothAdapter.getBondedDevices();
列表s=新的ArrayList();
用于(蓝牙设备bt:pairedDevices)
s、 添加(bt.getName()+“\n”+bt.getAddress());
setAdapter(新的ArrayAdapter(this,R.layout.activity_search_tablo,s));
}
}
错误
使用
return
停止任何void
方法中的代码调用startActivity()
不会停止当前活动中的代码执行
,因此即使mBluetoothAdapter
为空,在if
阻塞之后仍尝试使用它。@MikeM。如何停止此代码执行?@MikeM<代码>返回代码>?
2020-04-24 09:47:56.208 12121-12121/com.kvaksmanyt.exoy E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.kvaksmanyt.exoy, PID: 12121
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.kvaksmanyt.exoy/com.kvaksmanyt.exoy.tablo.SearchTabloActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.Set android.bluetooth.BluetoothAdapter.getBondedDevices()' on a null object reference