моя игра занимает много времени, чтобы загрузить с фона. во время загрузки экран черный (примерно 5-7 секунд, поэтому пользователь может подумать, что он сбой).
я решил показать тост при входе на передний план.
protected void onResume() {
System.out.println("onResume method called");
Context context = getBaseContext();
// Context context = getApplicationContext();
CharSequence text = "i appreciate your patience";
Toast toast = Toast.makeText(context, text, Toast.LENGTH_LONG);
toast.show();
super.onResume();
wl.acquire();
if (accelerometerEnabled) {
accelerometer.enable();
}
}
но тост появляется только после того, как он закончил возобновление (что делает его бесполезным). Я пробовал getApplicationContext, getBaseContext, а также сам Activity. так можно ли добавить тост прямо в окно без контекста моего приложения? (возможно, в контексте системного уровня)
Я думаю, что это связано с загрузкой вашей игры в потоке пользовательского интерфейса, когда он возвращается с фона
Попробуйте переместить всю логику, зависящую от нитей, зависящую от пользовательского интерфейса, в AsyncTask.
Это должно позволить вашему сообщению тоста быть видимым во время загрузки вашей игры.
Здесь может оказаться полезным заставка. Просто поместите всплывающий экран, охватывающий весь ваш пользовательский интерфейс в xml, а затем запустите процесс загрузки в асинтете. в asynctask onPostExecute, установите видимость заливки на Gone.
Не забывайте обрабатывать изменение ориентации.