BroadcastReceiver onReceive不改变布尔值

时间:2015-05-30 07:42:34

标签: java android boolean broadcastreceiver

我的BroadcastReceiver中的onReceive方法遇到了一个小问题。

BroadcastReceiver broadcast_reciever = new BroadcastReceiver() {

        @Override
        public void onReceive(Context arg0, Intent intent) {
            String action = intent.getAction();
            if (action.equals("finish_activity")) {
                paused = false;
                savePreferences("storedName", player1.getText().toString());
                savePreferences("storedName2", player2.getText().toString());
                savePreferences("lastActivity", "ma1");
                finish();
            }
        }
    };
    registerReceiver(broadcast_reciever, new IntentFilter("finish_activity"));

除了布尔值之外,这一切都很好。价值没有变化。我试过把它移到if语句之外但仍然没有去。任何帮助都会很棒!

1 个答案:

答案 0 :(得分:0)

  

在活动的前面我已经分配了暂停= true。

onReceive中,您正在更改paused的值,然后finish activity。因此,在重新启动时,值true将被分配给paused。变量的值不会保留在活动之外。我建议使用SharedPreference代替变量paused