我的游戏需要很长时间才能从后台加载。在加载期间,屏幕是黑色的(大约 5-7 秒,所以用户可能认为它崩溃了)。
我决定在进入前台时显示 toast 。
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();
}
}
但是 toast 只有在恢复完成后才会出现(这使得它毫无用处) 我试过 getApplicationContext、getBaseContext 以及 Activity 本身。 那么是否可以在没有我的应用程序上下文的情况下直接在窗口上添加 toast ? (也许在系统级上下文中)
最佳答案
我认为这与您的游戏从后台返回时加载到 UI 线程有关
尝试将所有非 UI 线程相关逻辑移动到 AsyncTask 中。
这应该允许您的 toast 消息在您的游戏加载时可见。
关于android - 如何在没有完成加载上下文的情况下显示 toast ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11182633/