finish() 메서드는 새 작업을 시작하는 동안 현재 작업을 완료하는 데 사용됩니다. 하지만 아마도 finish() 메서드가 내 AsyncTask 재정의 메서드에서 작동하지 않습니다. 좋아요, 내 현재 활동은 입니다. LoginActivity에서 AsyncTask를 구현했으며 AsyncTask의 재정의 메소드 중 하나에서 LoggedInActivity을 시작합니다. LoggedInActivity에는 많은 조각이 있습니다. 이것은 내가 생각하기에 어떤 문제도 일으키지 않는다. BACK 버튼을 누르면 LoginActivity이됩니다. 나는 그것을 원하지 않는다. 내 코드에서 봐 주시기 바랍니다 :finish() 메서드가 AsyncTask 내부에서 작동하지 않습니다.
public class LoginActivity extends Activity implements OnClickListener {
private void startLoggedInActivity()
{
Intent i = new Intent(this, LoggedInActivity.class);
startActivity(i);
finish();
}
private class FetchProfileTask extends AsyncTask<String, Integer, JSONObject>
{
protected JSONObject doInBackground(String... strings) {
bla....bla....
}
protected void onPreExecute() {
bla....bla....
}
protected void onPostExecute(JSONObject jsonObject) {
try {
startLoggedInActivity();
} catch (Exception e) {
Log.w("Exception", "FetchProfileTask - onPostExecute()");
} finally {
}
}
}
}
사람이 나에게 도움이된다면 내가 기뻐할 것입니다 .....
왜하지 행해져 Yout 나는'안드로이드 사용하는 경우 loggenInActivity에게 – elmorabea
@dcharms를 시작한 후 onPostExecute()에서 활동을 마무리하려고 : noHistory = "true"로 '이 ** LoginActivity **부터 시작하는 모든 활동에 적용됩니다. 나는 그것을 원하지 않는다. 일부 특정 활동에 대해 ** LoginActivity **를 마무리하고 싶습니다. –
@MahmoudElmorabea'startLoggedInActivity()'메소드를 살펴 보시기 바랍니다. 나는 현재 활동을 마치기 위해'finish()'를 사용했다. 하지만 왜 작동하지 않는지 모르겠다. –