Я разрабатываю приложение, которое сканирует устройства Bluetooth и перечисляет их все. Мое требование состоит в том, что я должен отсканировать устройства, как только начнется приложение. Теперь моя проблема заключается в том, что я запускаю приложение в первый раз, когда он только включает Bluetooth, но не сканирует устройства. Я вижу bluetooth значок на экране, но в режиме cat cat getState() для BluetoothAdapter отображается состояние STATE_OFF. Пожалуйста, помогите мне в этом вопросе ??Не удалось сканировать устройства Bluetooth
Вот мой фрагмент кода
public class MainActivity extends Activity {
private BluetoothAdapter bluetoothAdapter;
Set<String> BTList;
ArrayAdapter<String> BTAdapter;
private ListView listView;
private BroadcastReceiver mReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
listView = (ListView) findViewById(R.id.listView1);
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter == null)
Toast.makeText(this, "Devices does not support Bluetooth",
Toast.LENGTH_SHORT).show();
if (!bluetoothAdapter.isEnabled())
bluetoothAdapter.enable();
if(bluetoothAdapter.isEnabled()) {
if(bluetoothAdapter.isDiscovering()) {
bluetoothAdapter.cancelDiscovery();
}
}
bluetoothAdapter.startDiscovery();
mReceiver = 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);
BTAdapter.add(device.getName() + "\n" + device.getAddress());
BTAdapter.notifyDataSetChanged();
}
}
};
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(mReceiver, filter);
BTAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_expandable_list_item_1);
listView.setAdapter(BTAdapter);
}
@Override
protected void onDestroy() {
super.onDestroy();
//if(bluetoothAdapter != null)
// bluetoothAdapter.cancelDiscovery();
unregisterReceiver(mReceiver);
}
}
узнать некоторые кодирования первого. – AAnkit
@Ankit yup thats то, что я пытаюсь..и вот почему я спросил это .. – Akshay
вы не можете просто добавить все в onCreate, сначала изучить основы. Тогда эта проблема будет решена. – AAnkit