Я хочу получить намерение с булевым от второго действия до моего первого действия. Но теперь приложение проверяет намерение, и я получаю исключение нулевого указателя напрямую, как я могу пропустить первую проверку, которая происходит, и перейти ко второму действию, и оттуда отправить его обратно в первый, не получив исключения? Я получаю исключение по адресу:Получить намерение в первом действии
Boolean backButton=fromStartActivity.getExtras().getBoolean("backPress");
Некоторые из моего основного кода активность:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/* Load the view and display it */
setContentView(R.layout.activity_main);
Firebase.setAndroidContext(this);
Intent fromStartActivity = getIntent();
Boolean backButton=fromStartActivity.getExtras().getBoolean("backPress");
if(backButton){
logout();
Intent back = new Intent(Intent.ACTION_MAIN);
back.addCategory(Intent.CATEGORY_HOME);
back.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//startActivity(back);
finish();
System.exit(0);
}
Вторая активность:
@Override
public void onBackPressed(){
super.onBackPressed();
backButton=true;
Intent fromBack = new Intent(StartActivity.this,MainActivity.class);
fromBack.putExtra("backPress",backButton);
startActivity(fromBack);
}
Вы внесли дополнительные непосредственно в намерения, но пытаетесь получить доступ с помощью комплекта намерений. Не использовать ackButton = fromStartActivity.getExtras(). GetBoolean ("backPress"); Использовать ackButton = fromStartActivity.getBoolean ("backPress"); – Pehlaj
Какова первоначальная проблема, которую вы пытаетесь решить? потому что то, что вы хотите сделать, звучит не так. также вы можете getIntent.getBooleanExtra («backPress», false), чтобы получить false, если он не существует. – Ramin
установить флаг для получения намерений. –