Hi,
ich will den Nutzer auswählen lassen, mit welchem gekoppelten Bluetooth Device eine Verbindung hergestellt werden soll. Dazu sieht der Nutzer ein Meldungsfenster pro Handy und kann entweder auf ok, oder auf abbrechen klicken.
Nachdem ich auf Ok geklickt habe, sollten mir aber keine weiteren Meldungen mehr angezeigt werden. Trotzdem werden diese angezeigt. Hab ich irgendwas übersehen?
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
if(pairedDevices.size() > 0)
{
for(BluetoothDevice device : pairedDevices)
{
if (sollVerbinden == false)
{
new AlertDialog.Builder(MainActivity.this)
.setTitle("Verbinden mit")
.setMessage(device.getName())
//.setView(input)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
sollVerbinden = true;
Log.d("arduino", "sollVerbinden = true");
}
}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
sollVerbinden = false;
Log.d("arduino", "sollVerbinden = false");
}
}).show();
if(sollVerbinden == true)
{
mmDevice = device;
}
}
}
}
|
Z.b. Es werden vier gekoppelte Geräte gefunden, ich klicke beim zweiten auf ok, sehe aber trotzdem alle vier Meldungen und folgende Logausgabe:
sollVerbinden = false
sollVerbinden = true
sollVerbinden = false
sollVerbinden = false
Aber wie ist das möglich, wenn "sollVerbinden" = true ist, sollte doch mit dem Code keine Meldung angezeigt werden, oder? "sollVerbinden" ist übrigens eine globale Variable.
Gruß,
MitgliedXYZ