Java getBooleanExtra不能应用于布尔变量

Java getBooleanExtra不能应用于布尔变量,java,android,Java,Android,我试图在活动之间传递布尔值: main活动 boolean stream = false; boolean wifi = false; public void onToggleClicked(View view) { if (((ToggleButton)view).isChecked()) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, a

我试图在活动之间传递布尔值:

main活动

boolean stream = false;
boolean wifi = false;

public void onToggleClicked(View view) {
    if (((ToggleButton)view).isChecked()) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, alarmTimePicker.getCurrentHour());
        calendar.set(Calendar.MINUTE, alarmTimePicker.getCurrentMinute());

        Intent myIntent = new Intent(MainActivity.this, AlarmReceiver.class);

        myIntent.putExtra("snooze",false);
        myIntent.putExtra("stream",stream);
        myIntent.putExtra("wifi",wifi);

        pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, myIntent, 0);
        alarmManager.setExact(AlarmManager.RTC, calendar.getTimeInMillis(), pendingIntent);
    }
}
然后在我的广播接收器中检索它:

报警接收器

public class AlarmReceiver extends WakefulBroadcastReceiver {

    @Override
    public void onReceive(final Context context, Intent intent) {
        Boolean wifi = intent.getBooleanExtra("wifi");
        Boolean stream = intent.getBooleanExtra("stream");
        Boolean snooze = intent.getBooleanExtra("snooze");
        //.....
对于每个getBooleanExtra,我都会得到以下错误:

error: method getBooleanExtra in class Intent cannot be applied to given types;
required: String,boolean
found: boolean
reason: actual and formal argument lists differ in length
如果将Boolean更改为Boolean,则错误将更改为found:String,而不是found:Boolean

如何修复此问题?

返回一个
基本布尔类型,您必须给出一个默认值

Boolean stream = intent.getBooleanExtra("stream",false);
// ^^ wrapper class                              ^^^ default value 
或者,您可以使用
boolean
避免从
boolean
boolean
进行不必要的
自动装箱

    boolean wifi = intent.getBooleanExtra("wifi",false);
    boolean stream = intent.getBooleanExtra("stream",false);
    boolean snooze = intent.getBooleanExtra("snooze",false);

非常感谢,愚蠢的问题。我想我会被禁止问的again@JenniferCanas我很高兴我能帮上忙,总是检查文档以防出现此类错误,编码愉快