Показывать тост в ближайшее время, поскольку активность видна

Я пытаюсь показать Intent t = new Intent (this, MainActivity.class); t.putExtra («тост», getString (R.string.subscribingInBackground)); t.addFlags (Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity (т); Конец(); всякий раз, когда @Override public void onResume () {super.onResume (); if (this.adView! = null) {this.adView.resume (); } String toast = getIntent (). GetStringExtra («toast»); if (toast! = null) Toast.makeText (это тост, Toast.LENGTH_LONG) .show (); } отображается пользователю, но сообщение вообще не отображается.

У меня есть действие X, которое в определенный момент вызывает:

toast

И у FLAG_REORDER_TO_FRONT, кроме множества других вещей, у меня есть:

onNewIntent()

но Intentвсегда равно нулю

Что я делаю не так?

android,android-intent,activity-lifecycle,android-toast,

1

Ответов: 3


0

Вы onNewIntent()предполагаете, что считаете, что эта деятельность уже существует. Если это так, с этой деятельностью будет вызываться getIntent(), и у Intentдоставляемого вам use this code package com.example.abc.introscreen; import android.content.Intent; import android.support.design.widget.BottomNavigationView; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Intent t = new Intent(this,MainActivity.class); t.putExtra( "toast", "Hello"); startActivity(t); } @Override public void onResume() { String toast = getIntent().getStringExtra("toast"); if (toast != null) Toast.makeText(this, toast, Toast.LENGTH_LONG).show(); super.onResume(); } } enter code here будет дополнительная. onNewIntent()возвращает тот, Intentкоторый использовался для первоначальной работы.


0
ActivityX

0

Вы можете изменить , MainActivityчтобы получить Activityкоторый вы использовали в , getIntent()чтобы начать MainActivity.

Цитирование из документации поActivity

Обратите внимание, что setIntent(Intent)все еще возвращает исходное намерение. Вы можете использовать его onNewIntent()для обновления этого нового намерения.

Таким образом, вы можете переопределить @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); setIntent(intent); } следующее:

Toast

Затем Toastотобразится ваше изображение.

андроид, андроид-цель, деятельность, жизненный цикл, андроид-тосты,
Похожие вопросы