Bonjour,

j'ai un petit problème en ce qui concerne la porté des variables dans un BroadcastReceiver.

Code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public class BluetoothUtilities 
{
 
	private BluetoothAdapter _bluetoothAdapter;
	private Vector<String> _deviceDiscovered;
	private Activity _act;
 
 
	private final BroadcastReceiver _Receiver = new BroadcastReceiver() 
	{
	    public void onReceive(Context context, Intent intent) 
	    {
	        String action = intent.getAction();
 
			if(BluetoothDevice.ACTION_FOUND.equals(action)) 
			{
				BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
				_deviceDiscovered.add(device.getAddress());
				//((Main) _act).displayTextViewResult("--"+device.getAddress());
			}
 
			else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) 
			{
				((Main) _act).displayTextViewResult("------"+_deviceDiscovered.size()+"\n");
			}
 
	    }
	};
 
 
 
	public BluetoothUtilities(Activity act)
	{
		_act = act;
		_deviceDiscovered = new Vector<String>();
		_bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
 
 
		IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
		_act.registerReceiver(_Receiver, filter);
 
		filter = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
		_act.registerReceiver(_Receiver, filter);
	}
....
....

J'ai donc une classe avec un vector et un BroadcastReceiver. Lors d'une réception de données, j'ajoute un string à mon vector, mais lorsque j'ai fini de scanner le reseaux bluetooth, j'affiche la taille et çà me donne des valeur incohérentes.

Si par exemple j'ai ajouté 4 éléments dans mon vector, la size() me retourn 0, 2 ou autre choses, comme si la modification n'avait pas était prise en compte.
Donc je pense qu'il doit y avoir un conflit quant on utilise un objet dans le BroadcastReceiver, mais j'ai rien trouvé et là je suis bloqué ...

Merci