一個簡單的字符串時,這是有問題的doInBackground代碼奇怪的錯誤: -安卓:從返回doInBackground
@Override
protected String doInBackground(Void... params) {
try {
jsonArray = LoadCacheAction();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject obj = jsonArray.getJSONObject(i);
HttpResponse httpResponse = httpResponse = ((Globals) getApplication()).SendDataApache("employeeactions", obj);;
if (httpResponse != null) {
int code = httpResponse.getStatusLine().getStatusCode();
if ((code == 200) || (code == 201)){
return "ok";
}
else if ((code == 400)){
((Globals) getApplication()).WriteEventLogCache(((Globals) getApplication()).TodaysDate(), "3", "1", ((Globals) getApplication()).getIdUser(), "400 - Bad request error - Clocking Action");
return code + "";
}
else
return code + "";
}
}
((Globals) getApplication()).WriteEventLogCache(((Globals) getApplication()).TodaysDate(), "3", "1", ((Globals) getApplication()).getIdUser(), "Just Testing");
return "error";
} catch (Exception e) {
((Globals) getApplication()).WriteEventLogCache(((Globals) getApplication()).TodaysDate(), "3", "1", ((Globals) getApplication()).getIdUser(), e.getMessage());
return "conIssue";
}
}
整個軟件完美的作品的權利,直到它擊中的回報中的任何一個。當它這樣做時,軟件完全崩潰。我試着拿出方法中的所有東西,只是返回「OK」,它仍然崩潰。
有沒有人有任何建議,爲什麼,因爲我真的不能看到它。
感謝
史蒂夫
的PostExecute代碼: -
protected void onPostExecute(String result) {
if (pDialog.isShowing())
pDialog.dismiss();
if (result == "ok") {
((Globals) getApplication()).ClearCacheFile(((Globals) getApplication()).getActionCacheFileName());
} else {
if (result == "error") {
Toast.makeText(getApplicationContext(),
"Clocking Error. Try Again !!!", Toast.LENGTH_LONG)
.show();
} else {
if (result == "conIssue") {
Toast.makeText(
getApplicationContext(),
"Server not connected. Data will be updated when connection will be available.",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(
getApplicationContext(),
"Clocking Error. Server connection problem !!!",
Toast.LENGTH_LONG).show();
}
}
}
}
這是在日誌在崩潰的確切點出現: -
08-28 09:19:28.271 22411-22411/com.pe_systems.unity.unityandroid E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.pe_systems.unity.unityandroid, PID: 22411
java.lang.IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView{246c3ec6 V.E..... R......D 0,0-959,128} not attached to window manager
at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:396)
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:322)
at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:116)
at android.app.Dialog.dismissDialog(Dialog.java:341)
at android.app.Dialog.dismiss(Dialog.java:324)
at com.pe_systems.unity.unityandroid.Clocking.ClockingActivity$ServerConnectionTask.onPostExecute(ClockingActivity.java:408)
at com.pe_systems.unity.unityandroid.Clocking.ClockingActivity$ServerConnectionTask.onPostExecute(ClockingActivity.java:357)
at android.os.AsyncTask.finish(AsyncTask.java:636)
at android.os.AsyncTask.access$500(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:653)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
08 -28 09:19:28.272 546-3362 /? W/ActivityManager:強制整理活動1 com.pe_systems.unity.unityandroid/.Main.MainActivity 08-28 09:19:28.348 546-603 /? I/OpenGLRenderer:初始化EGL,1.4版本
代碼ClearCaheFile: -
public void ClearCacheFile(String fileName)
{
File key = new File(getExternalCacheDir(), fileName);
try {
FileWriter writeKey = new FileWriter(key);
BufferedWriter out = new BufferedWriter(writeKey);
out.write("");
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
@你可以發佈你的文章執行方法 – Vishwa
發佈你的日誌。 – Pankaj
爲問題添加了後執行代碼。 – MagicWand