Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8470221
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 10, 20262026-06-10T16:27:26+00:00 2026-06-10T16:27:26+00:00

I created a login activity for my Android app. After the user enters the

  • 0

I created a login activity for my Android app. After the user enters the correct credentials, the login activity will switch over to the homepage but I don’t know why my code won’t switch and there is no error shown in my logcat. The manifest was also properly defined.

This is my login activity:

public class LoginEmployerActivity extends Activity { 
Button btnLoginEmployer; 
Button btnLinkToEmployerRegisterScreen; 
EditText inputEmail; 
EditText inputPassword; 
TextView loginErrorMsg; 
TextView forgotPassword; 

// JSON Response node names 
private static String KEY_SUCCESS = "success"; 
private static String KEY_ERROR = "error"; 
private static String KEY_ERROR_MSG = "error_msg"; 
private static String KEY_UID = "uid"; 
private static String KEY_NAME = "name"; 
private static String KEY_CNAME = "cname"; 
private static String KEY_EMAIL = "email"; 
private static String KEY_CREATED_AT = "created_at"; 
private ProgressDialog pDialog; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.login_employer); 

// Importing all assets like buttons, text fields 
inputEmail = (EditText) findViewById(R.id.loginEmployerEmail); 
inputPassword = (EditText) findViewById(R.id.loginEmployerPassword); 
btnLoginEmployer = (Button) findViewById(R.id.btnLoginEmployer); 
btnLinkToEmployerRegisterScreen = (Button) findViewById(R.id.btnLinkToEmployerRegisterScreen); 
loginErrorMsg = (TextView) findViewById(R.id.login_error); 
forgotPassword = (TextView) findViewById(R.id.link_to_forgetPassword); 

// Login button Click Event 
btnLoginEmployer.setOnClickListener(new View.OnClickListener() { 

    public void onClick(View view) { 
        // Checking for server respond 
            new LoginEmployer().execute(); 
        } 
    } 
}); 

// Link to Register Screen 
btnLinkToEmployerRegisterScreen 
        .setOnClickListener(new View.OnClickListener() { 

            public void onClick(View view) { 
                Intent i = new Intent(getApplicationContext(), 
                        RegisterEmployerActivity.class); 
                startActivity(i); 
                finish(); 
            } 
        }); 

// Link to forgot password link 
forgotPassword.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View view) { 
        // Switching to forgot password screen 
        Intent i = new Intent(getApplicationContext(), 
                ForgotPasswordEmployerActivity.class); 
        startActivity(i); 
    } 
}); 
} 

// Background ASYNC Task to login by making HTTP Request 
class LoginEmployer extends AsyncTask<String, String, String> { 

// Before starting background thread Show Progress Dialog 
@Override 
protected void onPreExecute() { 
    super.onPreExecute(); 
    pDialog = new ProgressDialog(LoginEmployerActivity.this); 
    pDialog.setMessage("Authenticating..."); 
    pDialog.setIndeterminate(false); 
    pDialog.setCancelable(false); 
    pDialog.show(); 
} 

// Checking login in background 
protected String doInBackground(String... params) { 
    runOnUiThread(new Runnable() { 
        public void run() { 

            String email = inputEmail.getText().toString(); 
            String password = inputPassword.getText().toString(); 
            EmployerFunctions employerFunctions = new EmployerFunctions(); 
            JSONObject json = employerFunctions.loginUser(email, 
                    password); 

            // check for login response 
            try { 
                if (json.getString(KEY_SUCCESS) != null) { 
                    loginErrorMsg.setText(""); 
                    String res = json.getString(KEY_SUCCESS); 
                    if (Integer.parseInt(res) == 1) { 
                        // user successfully logged in 
                        // Store user details in SQLite Database 
                        DatabaseHandlerEmployer dbe = new DatabaseHandlerEmployer( 
                                getApplicationContext()); 
                        JSONObject json_user = json 
                                .getJSONObject("user"); 

                        // Clear all previous data in database 
                        employerFunctions 
                                .logoutUser(getApplicationContext()); 
                        dbe.addUser( 
                                json_user.getString(KEY_NAME), 
                                //json_user.getString(KEY_CNAME), 
                                json_user.getString(KEY_EMAIL), 
                                json.getString(KEY_UID), 
                                json_user.getString(KEY_CREATED_AT)); 
                        // Launch Employer homePage Screen 
                        Intent homepage = new Intent( 
                                getApplicationContext(), 
                                HomepageEmployerActivity.class); 

                        // Close all views before launching Employer 
                        // homePage 
                        homepage.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
                        startActivity(homepage); 

                        // Close Login Screen 
                        finish(); 
                    } else { 
                        // Error in login 
                        loginErrorMsg 
                                .setText("Invalid username/password"); 
                    } 
                } 
            } catch (JSONException e) { 
                e.printStackTrace(); 
            } 
        } 
    }); 
    return null; 
} 

// After completing background task Dismiss the progress dialog 
protected void onPostExecute(String file_url) { 
    // dismiss the dialog once done 
    pDialog.dismiss(); 
} 
} 
}

EDITED CODE AFTER MOVING INTENT STATEMENT TO onPostExecute METHOD

public class LoginEmployerActivity extends Activity {
Button btnLoginEmployer;
Button btnLinkToEmployerRegisterScreen;
EditText inputEmail;
EditText inputPassword;
TextView loginErrorMsg;
TextView forgotPassword;

// JSON Response node names
private static String KEY_SUCCESS = "success";
private static String KEY_ERROR = "error";
private static String KEY_ERROR_MSG = "error_msg";
private static String KEY_UID = "uid";
private static String KEY_NAME = "name";
private static String KEY_CNAME = "cname";
private static String KEY_EMAIL = "email";
private static String KEY_CREATED_AT = "created_at";
private ProgressDialog pDialog;

boolean loginVerify= false;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login_employer);

    // Importing all assets like buttons, text fields
    inputEmail = (EditText) findViewById(R.id.loginEmployerEmail);
    inputPassword = (EditText) findViewById(R.id.loginEmployerPassword);
    btnLoginEmployer = (Button) findViewById(R.id.btnLoginEmployer);
    btnLinkToEmployerRegisterScreen = (Button) findViewById(R.id.btnLinkToEmployerRegisterScreen);
    loginErrorMsg = (TextView) findViewById(R.id.login_error);
    forgotPassword = (TextView) findViewById(R.id.link_to_forgetPassword);

    // Login button Click Event
    btnLoginEmployer.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {
            // Checking for server respond
                new LoginEmployer().execute();
            }
        }
    });

    // Link to Register Screen
    btnLinkToEmployerRegisterScreen
            .setOnClickListener(new View.OnClickListener() {

                public void onClick(View view) {
                    Intent i = new Intent(getApplicationContext(),
                            RegisterEmployerActivity.class);
                    startActivity(i);
                    finish();
                }
            });

    // Link to forgot password link
    forgotPassword.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            // Switching to forgot password screen
            Intent i = new Intent(getApplicationContext(),
                    ForgotPasswordEmployerActivity.class);
            startActivity(i);
        }
    });
}

// Background ASYNC Task to login by making HTTP Request
class LoginEmployer extends AsyncTask<String, String, String> {

    // Before starting background thread Show Progress Dialog
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(LoginEmployerActivity.this);
        pDialog.setMessage("Authenticating...");
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(false);
        pDialog.show();
    }

    // Checking login in background
    protected String doInBackground(String... params) {
        runOnUiThread(new Runnable() {
            public void run() {

                String email = inputEmail.getText().toString();
                String password = inputPassword.getText().toString();
                EmployerFunctions employerFunctions = new EmployerFunctions();
                JSONObject json = employerFunctions.loginUser(email,
                        password);

                // check for login response
                try {
                    if (json.getString(KEY_SUCCESS) != null) {
                        loginErrorMsg.setText("");
                        String res = json.getString(KEY_SUCCESS);
                        if (Integer.parseInt(res) == 1) {
                            loginVerify = true;
                            // user successfully logged in
                            // Store user details in SQLite Database
                            DatabaseHandlerEmployer dbe = new DatabaseHandlerEmployer(
                                    getApplicationContext());
                            JSONObject json_user = json
                                    .getJSONObject("user");

                            // Clear all previous data in database
                            employerFunctions
                                    .logoutUser(getApplicationContext());
                            dbe.addUser(
                                    json_user.getString(KEY_NAME),
                                    json_user.getString(KEY_CNAME),
                                    json_user.getString(KEY_EMAIL),
                                    json.getString(KEY_UID),
                                    json_user.getString(KEY_CREATED_AT));

                        } else {
                            // Error in login
                            loginErrorMsg
                                    .setText("Invalid username/password");
                        }
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        });
        return null;
    }

    // After completing background task Dismiss the progress dialog
    protected void onPostExecute(String file_url) {
        // dismiss the dialog once done
        pDialog.dismiss();
        if ( loginVerify == true ) 
        {
        // Launch Employer homePage Screen
        Intent homepage = new Intent(getApplicationContext(),
                HomepageEmployerActivity.class);

        // Close all views before launching Employer
        // homePage
        homepage.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(homepage);

        // Close Login Screen
        finish();
        }
    }
}

}

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-10T16:27:28+00:00Added an answer on June 10, 2026 at 4:27 pm

    You are calling the intent to start a new activity inside the doInBackgorund() which runs on a non-UI thread and the Activity needs to be run on a UI thread. That is why your Login activity is never stopped.

    Put the code to go to the new activity inside onPostExecute() or onProgressUpdate().

    Here is something you can do.
    Declare a global variable loginVerfied = false;

    When your doInBackground verifies that the authenticity of the user, make loginVerified = true , otherwise keep it false.

    Then inside onPostExecute()

    if(loginVerifed == true)
    {
           Intent homepage = new Intent(getApplicationContext(),HomepageEmployerActivity.class                               
           homepage.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
           startActivity(homepage);
           finish();
    }
    

    EDIT :

    Also, you have declared class LoginEmployer extends AsyncTask<String, String, String>, so to call it you need to use new LoginEmployer.execute(""); (you are missing the double quotes and not passing any String to the Task so it does not match it’s parameters).
    The first parameter in the definition of the AsyncTask is the datatype of the value being passed to it when execute() function is called. The second parameter is the datatype related to displaying progress during the time when the background thread runs. And the third parameter specifies the return value of the result.

    More about AsyncTask here.

    So, here is what you need to do now.

    Declare the Async Task like this.

    class LoginEmployer extends AsyncTask<String, Void, String> and make a call to it by using new LoginEmployer.execute(""). Make sure to return null from your doInBackground().

    Hope this solves your problem now!

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'd like to switch databases upon user login. I've created this login signal.. but
i have created one login and register view in that view after login user
I've modified my previous code for login. package log1.log2; import android.app.Activity; import android.content.Intent; import
package com.login.android; import java.net.InetSocketAddress; import java.net.Socket; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; import com.login.android.R; import android.app.Activity;
I'm trying to login on twitter from my android app using Twitter4j library but
i have created a login page for some application in android and i want
I have created login account on my localhost\sql2008 Server (Eg. User123) Mapped to Database
I have created login page forced login in several pages. Now i need to
I have created Login forms and registration forms for a website. The form is
I created Aspx login page and ext js login form in it ExtJs code

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.