2015-01-29 2 views
-1

하나의 활동에서 AsyncTask를 사용하는 Android 애플리케이션이 있습니다. 그것은 작동합니다. 따라서 작업이 실행 중일 때 스마트 폰을 켜려고하면 진행 대화 상자가 숨겨지고 AsyncTask가 종료됩니다. 이제이 두 가지 방법을 구현해야하는이 문제를 해결해야한다는 것을 알고 있습니다.장치가 켜져있을 때 AsyncTask의 상태를 저장하는 방법은 무엇입니까?

protected void onSaveInstanceState(Bundle outState) {} 
protected void onRestoreInstanceState(Bundle savedInstanceState) 

하지만 내 AsyncTask의 상태를 저장하는 방법을 모르겠다. 턴으로

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_login); 
     apriConnessioneDB(); 
     //recupero le impostazioni dell utenza 
     Impostazioni impostazioni = db.getImpostazioni(); 
     if(impostazioni!=null){ 
      dialog = ProgressDialog.show(
        this, 
        "Login", 
        "Verifica dati in corso."); 
      syncLogin = new SyncLogin(); 
      syncLogin.setDialog(dialog); 
      syncLogin.setCt(this); 
      syncLogin.setDb(db); 
      syncLogin.setUsername(impostazioni.getUsername()); 
      syncLogin.setPassword(impostazioni.getPassword()); 
      //syncLogin.setCt(this.getApplicationContext()); 
      syncLogin.execute(); 
     } 
    } 

    protected void onSaveInstanceState(Bundle outState) { 
     try{ 
      super.onSaveInstanceState(outState); 
      final AsyncTask task = syncLogin; 

     }catch(Exception e){ 
      Log.e("ERROR", e.getMessage()); 
     } 
    } 

답변