Android Jelly Bean возобновляется после moveTaskToBack(правда)
У меня есть некоторые проблемы с Android Jelly Bean. Я хочу загрузить веб-просмотр в фоновом режиме, а когда веб-сайт полностью загружен, я хочу показать активность.
Для отправки активности в фоновом режиме я использую Activity.moveTaskToBack(true);
и возобновить его startActivity
с Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP
, Отлично работает на всех версиях, кроме Jelly Bean:(. На Jelly Bean Activity.onResume выполнена, но активность не показана.
Пример кода:
public class TestActivity extends Activity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView webView = new WebView(this);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("https://google.com");
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
layout.addView(webView);
setContentView(layout, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
moveTaskToBack(true);
Toast.makeText(this, "SEND ACTIVITY TO BACK", Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Toast.makeText(TestActivity.this, "TRY RESUME ACTIVITY", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(TestActivity.this, TestActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
}, 10000);
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Toast.makeText(this, "ON NEW INTENT", Toast.LENGTH_SHORT).show();
}
@Override
protected void onResume() {
super.onResume();
Toast.makeText(this, "ON RESUME", Toast.LENGTH_SHORT).show();
}
}