Ich möchte eine Anwendung auf der Suche nach verfügbaren Geräten über Bluetooth hat Tact of manifest und ich habe nicht meine Geräte in ListView verfügbar Ich weiß nicht, was das Problem?Android Bluetooth Broadcast Receiver hat nicht funktioniert
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ArrayAdapter<String> item = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1);
final Switch sw =(Switch) findViewById(R.id.switch1);
final BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
final ListView lv =(ListView)findViewById(R.id.listView);
final Button bu= (Button)findViewById(R.id.button);
sw.setChecked(false);
sw.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (!mBluetoothAdapter.isEnabled()&&sw.isChecked())
{
mBluetoothAdapter.enable();
Toast.makeText(MainActivity.this, " Bluetooth enabled", Toast.LENGTH_SHORT).show();
}
else if(mBluetoothAdapter.isEnabled()&&!sw.isChecked()) {
mBluetoothAdapter.disable();
Toast.makeText(MainActivity.this, "Bluetooth disabled", Toast.LENGTH_SHORT).show();
}
}
});
bu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!sw.isChecked())
item.clear();
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
if (pairedDevices.size() > 0) {
for (BluetoothDevice device : pairedDevices) {
item.add(device.getName() + "\n" + device.getAddress());
}
}
mBluetoothAdapter.startDiscovery();
final BroadcastReceiver ActionFoundReceiver=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);
item.add(device.getName()+"\n"+device.getAddress());
Toast.makeText(MainActivity.this, device.getName(), Toast.LENGTH_SHORT).show();
}
}
};
lv.setAdapter(item);
}
});
}
}
Mögliche Duplikat [Programmatically einen Rundfunkempfänger registrieren] (http://stackoverflow.com/questions/4805269/programmatically-register-a-broadcast-receiver) –