내 서비스에서 CallReceiver 클래스로 int 값을 전달하려고합니다. 불행히도 CallReceiver.value는 다른 값으로 설정된 후에도 항상 0입니다. 생성자에 매개 변수로 전달하려고 할 때 상황은 정확히 동일하므로 서비스에서 호출 된 setter 메서드를 사용하면됩니다. 어떤 데이터도 전달할 방법이 없습니까?BroadcastReceiver에 매개 변수 전달
서비스 :
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;
수신기 :
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.
}
}
'CallReceiver' 당신이'mCallReceiver.value = 값을 의미 않았다, 정적되지 않습니다에 '값'필드;'대신'CallReceiver.value = 값;'? –