如何从Application实例触发对话框?

时间:2011-05-18 00:26:29

标签: exception dialog android

无论展示什么活动,我都在寻找显示对话框的方法。

我认为使用某些代码可以更好地解释我想要实现的目标:

public class MyApp extends Application {

        public MyApplication() {
        }

        @Override
        public void onCreate() {
                super.onCreate();

                boolean success = doSomeWebServiceCall();

                if (!success)
                        showAlertDialog();  // fails with error
        }
}

我得到的错误是:

ERROR/AndroidRuntime(375): Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
at android.view.ViewRoot.setView(ViewRoot.java:460)

2 个答案:

答案 0 :(得分:2)

如果您不需要用户互动,我认为敬酒(甚至可以在这片烤面包中投入图片)会更方便

Toast toast = Toast.makeText(getApplicationContext(), "YOUR TEXT HERE", Toast.LENGTH_LONG);
LinearLayout toastView = (LinearLayout) toast.getView();
ImageView infoImage = new ImageView(getApplicationContext());
infoImage.setImageResource(drawable.your_image);
toastView.addView(infoImage, 0);
toast.show();  

答案 1 :(得分:2)

只有Activity才能显示Dialog。请考虑使用以对话框为主题的Activity,可以通过ApplicationstartActivity()对象启动。