2016-03-28 7 views
2

Ich mache eine App mit einer Login-Funktion, aber ich habe ein Problem, wo ich, wenn ich richtige Kontoinformationen, kann ich nicht zur Haupttätigkeit gehen scheint die Login-Aktivität wieder aufzunehmen:Kann nicht zur Hauptaktivität von login activty gehen (mit Hintergrundaufgabe)

Mein Background von Login activty:

@Override 
protected void onPostExecute(String json) { 
try { 
    progressDialog.dismiss(); 
    JSONObject jsonObject = new JSONObject(json); 
    JSONArray jsonArray = jsonObject.getJSONArray("server_response"); 
    JSONObject jo = jsonArray.getJSONObject(0); 
    String code = jo.getString("code"); 
    String message = jo.getString("message"); 
    if (code.equals("reg_true")){ 
     showDialog("Register succes", message, code); 
    } 
    else if (code.equals("reg_false")){ 
     showDialog("Register fail", message, code); 
    } 
    else if (code.equals("login_true")){ 
     Intent intent = new Intent(activity, MainActivity.class); 
     intent.putExtra("message", message); 
     activity.startActivity(intent); 

     //activity.finish(); // i tried with finish but i loose the itent extra i need for sharedpreference 
    } 

Login-Klasse:

public class LoginActivity extends AppCompatActivity { 
EditText Mail,Password; 
Button Login; 
TextView toRegister; 
AlertDialog.Builder builder; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_login); 

    Mail = (EditText) findViewById(R.id.lMail); 
    Password = (EditText) findViewById(R.id.lPassword); 
    Login = (Button) findViewById(R.id.bLogin); 
    toRegister = (TextView)findViewById(R.id.toRegister); 

    toRegister.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      startActivity(new Intent(LoginActivity.this, RegisterActivity.class)); 
     } 
    }); 

    Login.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      if (Mail.getText().toString().equals("") || Password.getText().toString().equals("")){ 
       builder = new AlertDialog.Builder(LoginActivity.this); 
       builder.setTitle("Attention"); 
       builder.setMessage("Rempliser tout les champs"); 
       builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         dialog.dismiss(); 

        } 
       }); 
       AlertDialog alertDialog = builder.create(); 
       alertDialog.show(); 
      } 
      else{ 
       BackgroundTask bt = new BackgroundTask(LoginActivity.this); 
       bt.execute("login" ,Mail.getText().toString(), Password.getText().toString()); 
      } 
     } 
    }); 
} 

@Override 
public void onBackPressed() { 
    // Disable going back to the MainActivity 
    moveTaskToBack(true); 
} 

}

Falls etwas fehlt, können Sie meine mainactivty und Manifest auf Kern finden: https://gist.github.com/anonymous/efc3400df01a0b972a71

bearbeiten: log hier:

03-28 20:40:01.539 954-4500/? I/ActivityManager: START u0 {cmp=com.serk.comparateurL3F1/.MainActivity (has extras)} from uid 10169 on display 0 
03-28 20:40:01.550 954-4500/? D/ActivityManager: finishRunningVoiceLocked() >>>> 
03-28 20:40:01.562 954-4007/? W/InputMethodManagerService: Window already focused, ignoring focus gain of: [email protected] attribute=null, token = [email protected] 
03-28 20:40:01.600 24100-24100/? I/AppCompatViewInflater: app:theme is now deprecated. Please move to using android:theme instead. 
03-28 20:40:01.659 954-4500/? I/ActivityManager: START u0 {cmp=com.serk.comparateurL3F1/.LoginActivity} from uid 10169 on display 0 
03-28 20:40:01.665 954-4500/? D/ActivityManager: finishRunningVoiceLocked() >>>> 
03-28 20:40:01.704 954-3708/? D/WindowManager: relayoutVisibleWindow: Window{452fac1 u0 com.serk.comparateurL3F1/com.serk.comparateurL3F1.MainActivity EXITING} mAnimatingExit=true, mRemoveOnExit=false, mDestroying=false 
03-28 20:40:01.716 954-972/? I/WindowManager: Destroying surface Surface(name=Wait...) called by com.android.server.wm.WindowStateAnimator.destroySurface:1738 com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:816 com.android.server.wm.WindowState.destroyOrSaveSurface:1906 com.android.server.wm.AppWindowToken.destroySurfaces:357 
03-28 20:40:01.742 24100-24100/? W/OpenGLRenderer: Points are too far apart 4.000001 
03-28 20:40:01.882 24100-24100/? I/TextInputLayout: EditText added is not a TextInputEditText. Please switch to using that class instead. 
03-28 20:40:01.884 24100-24100/? I/TextInputLayout: EditText added is not a TextInputEditText. Please switch to using that class instead. 
03-28 20:40:02.065 954-972/? I/ActivityManager: Displayed com.serk.comparateurL3F1/.LoginActivity: +379ms (total +499ms) 
03-28 20:40:02.097 3156-3156/? I/Keyboard.Facilitator: onFinishInput() 
03-28 20:40:02.098 3156-3156/? I/Keyboard.Facilitator: onStartInput() 
03-28 20:40:02.109 3156-3156/? I/LatinIME: Starting input. Cursor position = 0,0 
03-28 20:40:02.114 954-4003/? I/WindowManager: Destroying surface Surface(name=com.serk.comparateurL3F1/com.serk.comparateurL3F1.MainActivity) called by com.android.server.wm.WindowStateAnimator.destroySurface:1738 com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:816 com.android.server.wm.WindowState.destroyOrSaveSurface:1906 com.android.server.wm.WindowManagerService.tryStartExitingAnimation:2830 
03-28 20:40:02.152 3918-13832/? D/PhoneInterfaceManager: [PhoneIntfMgr] getDataEnabled: subId=1 phoneId=0 
03-28 20:40:02.153 3918-13832/? D/PhoneInterfaceManager: [PhoneIntfMgr] getDataEnabled: subId=1 retVal=true 
03-28 20:40:02.153 3218-3617/? D/TelephonyManager: getDataEnabled: retVal=true 
03-28 20:40:02.167 3156-3156/? I/Keyboard.Facilitator: resetDictionaries() : no-op 
03-28 20:40:02.168 3156-3156/? I/StatsUtilsManager: onLoadSettings() 
03-28 20:40:02.436 954-4005/? I/WindowManager: Destroying surface Surface(name=com.serk.comparateurL3F1/com.serk.comparateurL3F1.LoginActivity) called by com.android.server.wm.WindowStateAnimator.destroySurface:1738 com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:816 com.android.server.wm.WindowState.destroyOrSaveSurface:1906 com.android.server.wm.WindowManagerService.tryStartExitingAnimation:2830 
+0

posten Sie Ihre Json Antwort, logcat, Login und mainactivity Java-Klasse –

+0

@ArpitPatel i das Protokoll ist die JSON-Antwort hinzugefügt { "server_response": [{ "Code": "login_true", "message":“ test "}]} (von http://comparateur.16mb.com/logintest.html) Sie finden können und alle hier: https://gist.github.com/anonymous/efc3400df01a0b972a71 – Ggs

Antwort

2

Betrachten Sie, was Sie am Ende auf MainActivity.onCreate(...) tun.

Intent intent = new Intent(this, LoginActivity.class); 
startActivity(intent); 

Du Neubelebung der LoginActivity selbst. Wenn Sie das nicht tun möchten, entfernen Sie die obigen Zeilen, damit weiterhin ordnungsgemäß geladen wird.

+0

Leider war dies nicht die Lösung , log ich hinzugefügt, wenn ich versuche, mich einzuloggen und zu activity – Ggs

+0

Nun, das war sicher ein Teil Ihres Problems zumindest. Haben Sie sichergestellt, dass 'userLocalStore.getLoggedInUser()! = Null' nach der Anmeldung in der 'MainActivity.authenticate()' Methode? Vielleicht möchten Sie eine weitere Log-Anweisung hinzufügen, um dies zu überprüfen oder besser noch ein paar Breakpoints setzen und 'MainActivity' debuggen, wenn Sie wissen, wie. –

+0

Ich denke, das war es, ich denke, das wird mich lehren zu versuchen, 2 Sache in der gleichen Zeit zu implementieren, meine gemeinsame Präferenz ist keine Einrichtung noch so der Scheck war null ... Vielen Dank, ich wurde verrückt und Einchecken in die falsche Platz Ihre erste Antwort ist dann noch gültig? Weil ich nun direkt zur Hauptaktivität komme, anstatt mich einzuloggen. – Ggs

1

Ich bin mir nicht sicher, ob ich den Grund habe, aber könnten Sie überprüfen, ob Sie das brauchen .. In Zeile 82 und 83 in Ihrer Haupttätigkeit.

Intent intent = new Intent(this, LoginActivity.class);   
startActivity(intent); 
+0

Leider war das nicht die Lösung, ich habe log hinzugefügt, wenn ich versuche, mich anzumelden und die Hauptaktivität – Ggs

Verwandte Themen