Getting this error when my phone goes idle mode and the activity is open and I try to use the app again. It crashes sometimes and sometimes it works
I am calling few methods in onResume() method of the activity, such as, getting json from webservice, inserting into sqlite database and getting back then showing in a listview. I have been getting this error for 7 days but not able to resolve it. I applied handler in onResume method and delayed for 50 milliseconds, but still I get this error. Need help.
@Override
protected void onResume() {
super.onResume();
DATA.allMessages = db.getAllMessages(prefs.getString("id", ""), DATA.selectedUserId);
handler.postDelayed(new Runnable() {
@Override
public void run() {
if(DATA.issendUrl) {
DATA.issendUrl = false;
db.insertMessages(prefs.getString("id", ""), DATA.urlMsgText, DATA.selectedUserId, "", "0", "1", "0","1", "");
DATA.lastInsertedMsgID = db.getLastInsertedID();
if(isConnectedToInternet()) {
if(!(makeJsonStringFromArray().equals("")) || makeJsonStringFromArray() != null) {
uploadUnsentMsgs(makeJsonStringFromArray());
// Toast.makeText(activity, "unread msgs sent", 0).show();
DATA.allMessages = db.getAllMessages(prefs.getString("id", ""), DATA.selectedUserId);
if(DATA.allMessages != null) {
chatAdapter = new ChatAdapter(activity);
lvChattMsgs.setAdapter(chatAdapter);
}
}
if(DATA.lastInsertedMsgID != -1) {
sendMsg(DATA.urlMsgText, prefs.getString("id", ""), DATA.selectedUserId, DATA.lastInsertedMsgID, "url");
}
}
DATA.allMessages = db.getAllMessages(prefs.getString("id", ""), DATA.selectedUserId);
if(DATA.allMessages != null) {
chatAdapter = new ChatAdapter(activity);
lvChattMsgs.setAdapter(chatAdapter);
}
}
else if(DATA.isFwdMsg) {
DATA.isFwdMsg = false;
db.insertMessages(prefs.getString("id", ""), DATA.selectedImagePath, DATA.selectedUserId, "", "0", "1", "0","0", "");
DATA.lastInsertedMsgID = db.getLastInsertedID();
if(isConnectedToInternet()) {
if(DATA.lastInsertedMsgID != -1) {
sendMsg(DATA.selectedImagePath, prefs.getString("id", ""), DATA.selectedUserId, DATA.lastInsertedMsgID, "msg");
}
}
DATA.allMessages = db.getAllMessages(prefs.getString("id", ""), DATA.selectedUserId);
if(DATA.allMessages != null) {
chatAdapter = new ChatAdapter(activity);
lvChattMsgs.setAdapter(chatAdapter);
}
}
if(DATA.isImageCaptured) {
if(isConnectedToInternet()) {
db.insertMessages(prefs.getString("id", ""), DATA.imagePath, DATA.selectedUserId, "","0", "1", "1","0", "");
DATA.lastInsertedMsgID = db.getLastInsertedID();
if(DATA.lastInsertedMsgID != -1) {
UploadMsgImage uploadMsgImage = new UploadMsgImage(activity);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
uploadMsgImage.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, "");
} else {
uploadMsgImage.execute("");
}
DATA.isImageCaptured =false;
DATA.allMessages = db.getAllMessages(prefs.getString("id", ""), DATA.selectedUserId);
if(DATA.allMessages != null) {
chatAdapter = new ChatAdapter(activity);
lvChattMsgs.setAdapter(chatAdapter);
}
}
}//if net available...
else {
DATA.isImageCaptured =false;
//DATA.imagePath = "";
db.insertMessages(prefs.getString("id", ""), DATA.imagePath, DATA.selectedUserId, "","0", "1", "1","0", "");
DATA.allMessages = db.getAllMessages(prefs.getString("id", ""), DATA.selectedUserId);
if(DATA.allMessages != null) {
chatAdapter = new ChatAdapter(activity);
lvChattMsgs.setAdapter(chatAdapter);
}
}
}
DATA.allMessages = db.getAllMessages(prefs.getString("id", ""), DATA.selectedUserId);
if(DATA.allMessages != null) {
chatAdapter = new ChatAdapter(activity);
lvChattMsgs.setAdapter(chatAdapter);
}
}
}, 80);
}