Performing an activity stop that does not resume - Android

I get this error: Performing an activity stop that LoginActivity does not resume. I read other topics about this error, but I still can not figure out what the problem is.

Here is my Logcat:

java.lang.RuntimeException: Performing stop of activity that is not resumed: {package/package.LoginActivity} at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3333) at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3420) at android.app.ActivityThread.access$1200(ActivityThread.java:161) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:157) at android.app.ActivityThread.main(ActivityThread.java:5356) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081) at dalvik.system.NativeStart.main(Native Method) 

And my activity:

 public class LoginActivity extends Activity { EditText edtMail,edtPass; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); Button regButton = (Button) findViewById(R.id.registerbtn); Button logButton = (Button) findViewById(R.id.login); final Context context = getApplicationContext(); edtMail = (EditText) findViewById(R.id.email); edtPass = (EditText) findViewById(R.id.pword); // testing if GooglePlayServices works//TODO if(GooglePlayServicesUtil.isGooglePlayServicesAvailable(this) == ConnectionResult.SUCCESS ) System.out.println("Google PLAY SERVICES"); //getting specs for device //TODO HashMap<String, String> specsHash = new HashMap<String, String>(); GetSpecs getSpecs = new GetSpecs(this); specsHash = getSpecs.getAllSpecs(); for (Map.Entry<String,String> entry : specsHash.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); System.out.println(key + " = " + value); } //check device camera boolean hasCamera = CheckDeviceCamera.isDeviceSupportCamera(context); //check device GPS boolean hasGPS = CheckDeviceGPS.isDeviceSupportGPS(context); //if have details try to log the user in if (new SharedPrefsMemo().getPrefs(context) == 1) { DatabaseConnector databaseConnector = new DatabaseConnector(context); //gasire: 0->nimic gasit, 1->gasit agent; 2->gasit asistent int gasire = databaseConnector.loadInregistrare(Prefs.emailPref, Prefs.parolaPref); if (gasire != 0) { Intent myIntent = new Intent(LoginActivity.this, MainActivity.class); myIntent.putExtra("tip", gasire); startActivity(myIntent); } } //register button regButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent intent = new Intent(context, RegisterSplitActivity.class); startActivity(intent); } }); logButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { String password = edtPass.getText().toString(); String email = edtMail.getText().toString(); DatabaseConnector databaseConnector = new DatabaseConnector(context); int gasire = databaseConnector.loadInregistrare(email, password); if(gasire != 0 ) { SharedPrefsMemo sharedPrefsMemo = new SharedPrefsMemo(); if(gasire == 1) { sharedPrefsMemo.memoPrefs(GetObiecte.agent.email, GetObiecte.agent.parola, GetObiecte.agent.id, context); Intent myIntent = new Intent(LoginActivity.this, MainActivity.class); myIntent.putExtra("tip", gasire); startActivity(myIntent); } else if(gasire == 2) { sharedPrefsMemo.memoPrefs(GetObiecte.asistent.email, GetObiecte.asistent.parola, GetObiecte.asistent.id, context); Intent myIntent = new Intent(LoginActivity.this, MainActivity.class); myIntent.putExtra("tip", gasire); startActivity(myIntent); } } else { CharSequence text = "Date de logare gresite!"; int duration = Toast.LENGTH_LONG; Toast toast = Toast.makeText(context, text, duration); toast.show(); } } }); } @Override protected void onResume() { super.onResume(); //activare GPS//TODO LocationManager locationManager = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE); if(!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { //Ask the user to enable GPS AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Location Manager"); builder.setMessage("Activate GPS?"); builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //Launch settings, allowing user to make a change Intent i = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivity(i); } }); builder.setNegativeButton("No", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //No location service, no Activity int duration = Toast.LENGTH_LONG; Toast toast = Toast.makeText(LoginActivity.this, "Activate the GPS", duration); toast.show(); finish(); } }); builder.create().show(); } } } 
+5
source share
1 answer

I had the same problem and the answer from @sheetal solved my problem.

fooobar.com/questions/147984 / ...

The problem will continue to be present on all HighEnd phones with 4.4.2 and higher, including NEXUS 5, Samsumg s4, since onResume is called, but still it is in the animation stage. Therefore, if you try to start onResume the problem will replicate.

I created a handler to start my intention with a slight delay, and the problem disappeared.

Hope this helps

+2
source

Source: https://habr.com/ru/post/1209330/


All Articles