Sto provando a passare un valore int dal mio servizio alla classe CallReceiver, sfortunatamente il valore CallReceiver.value è sempre uguale a 0, anche dopo l'impostazione con un altro valore. Quando cerco di passarlo come parametro alla situazione del costruttore è esattamente lo stesso, e così con i metodi setter chiamati dal servizio. Non c'è davvero alcun modo per passare lì i dati?Passare parametri al BroadcastReceiver
Servizio:
SharedPreferences settings = getSharedPreferences("SETTINGS", 0);
int value = settings.getInt("value1", 0); // here the correct value is present, not 0.
CallReceiver mCallReceiver = new CallReceiver();
CallReceiver.value = value;
Ricevitore:
public class CallReceiver extends BroadcastReceiver {
public int value;
public CallReceiver(int value) {
this.value = value;
}
public CallReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
Log.v("value", String.valueOf(value)); // here "value" = 0.
}
}
vostro 'campo value' in' CallReceiver' non è statico, volevi dire 'mCallReceiver.value = valore;' invece di 'CallReceiver.value = valore;'? –