我有一個發佈的應用程式,並收到了來自崩潰堆棧跟蹤:無法理解該堆棧跟蹤
android.view.WindowManager$BadTokenException: Unable to add window -- token
[email protected] is not valid; is your activity running?
at android.view.ViewRoot.setView(ViewRoot.java:535)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:203)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:117)
at android.view.Window$LocalWindowManager.addView(Window.java:424)
at android.app.Dialog.show(Dialog.java:241)
at android.app.ProgressDialog.show(ProgressDialog.java:107)
at android.app.ProgressDialog.show(ProgressDialog.java:90)
at com.mytaxicontrol.MyTaxiControlActivity$executeGEO.void onPreExecute()(Unknown Source)
at android.os.AsyncTask.execute(AsyncTask.java:391)
at com.mytaxicontrol.MyTaxiControlActivity$37.void run()(Unknown Source)
at android.app.Activity.runOnUiThread(Activity.java:3743)
at com.mytaxicontrol.MyTaxiControlActivity.void geo()(Unknown Source)
貌似對話框不能顯示進度。下面是相關的代碼:
public void onPreExecute() {
if(isGeoRunning)return;
if (loading == null || !loading.isShowing())
loading = ProgressDialog.show(co, "",
"Retrieving Geolocation...", true);
}
注意,CO =這個和的onCreate() 什麼是我的問題已經初始化?
我可以對此做任何事嗎? – michaelsmith 2012-03-14 19:18:28
是的,在嘗試添加窗口之前檢查活動是否爲空,或者在 – 2012-03-14 19:18:59
周圍添加一個try ... catch塊,這發生在我的主要活動中,所以我應該這樣做:if(co!= null)... – michaelsmith 2012-03-14 19:20:07