2016-08-03 15 views
1

In meiner Anwendung wird meine Aktivität automatisch geschlossen, wenn ich vom Hintergrund zurückkomme und immer die vorherige Aktivität anzeigt. Beispiel: Ich beginne App mit Activity A> gehe dann zu Activity B> dann Activity C jetzt lege ich meine App in den Hintergrund und komme dann zurück in den Vordergrund die C-Aktivität wird automatisch geschlossen, es zeigt Aktivität B. Bitte hilf mir eine große Projekt Ich arbeite an bestehendem Code. Ich weiß nicht, welche Eigenschaft dort eingestellt wurde. Ich habe OnPause() und OnResume() Methoden überall in der App überprüft, nichts ist da, das die Aktivität schließen kann.Die Aktivität wird automatisch geschlossen, wenn sie vom Hintergrund zurückkommt.

public class EnterOtpActivity extends ChoosePhotoBaseActivity { 
private ActivityEnterOtpBinding mBinding; 
private EnterOtpModel model; 
private String name; 
private String prefix; 
private String phone; 
private String password; 
private int spinnerPos; 
private UserApi.FacebookLoginDetails fbLoginDetails = null; 

@NonNull 
@Override 
protected Map<ImageView, Transformation<Bitmap>> getImageViewsMap() { 
    return null; 
} 

@Override 
protected void handleLoadedFile(@NonNull File imageTempFile) { 
    imageCropped(Uri.fromFile(imageTempFile)); 
} 

public void imageCropped(@NonNull Uri croppedImageUri) { 
    model.mEditAvatarUri = croppedImageUri; 
} 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    mBinding = DataBindingUtil.setContentView(this, R.layout.activity_enter_otp); 
    mBinding.setModel(model = new EnterOtpModel(this, mBinding)); 
    Bundle bundle = getIntent().getExtras(); 
    if (bundle != null) { 
     if (bundle.containsKey(BundleKeyUtils.REGISTRATION)) { 
      UserDetailsForOTPVo userDetailsForOTPVo = (UserDetailsForOTPVo) bundle.getSerializable(BundleKeyUtils.REGISTRATION); 
      name = userDetailsForOTPVo.getName(); 
      prefix = userDetailsForOTPVo.getPrefix(); 
      phone = userDetailsForOTPVo.getContactNumber(); 
      password = userDetailsForOTPVo.getPassword(); 
      spinnerPos = userDetailsForOTPVo.getSpinnerPosition(); 
      model.setContactNumber(prefix, phone); 
     } else if (bundle.containsKey(BundleKeyUtils.FB_REGISTRATION)) { 
      fbLoginDetails = (UserApi.FacebookLoginDetails) bundle.getSerializable(BundleKeyUtils.FB_REGISTRATION); 
      prefix = fbLoginDetails.getPhone_country_code(); 
      phone = fbLoginDetails.getPhone(); 
     } 
    } 
    mBinding.editOtp.setFilters(new InputFilter[]{new InputFilter.LengthFilter(4)}); 
    model.setTimer(); 
    setContinueAction(); 
    otpTextWatcher(); 
    setOnOtpRequest(); 
    File f = new File(getApplicationContext().getCacheDir(), "temp"); 
    Uri imageUri = Uri.fromFile(f); 
    model.mEditAvatarUri = imageUri; 

    mBinding.textContinue.setEnabled(false); 
} 

private void setOnOtpRequest() { 
    mBinding.textOTp.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      showOTPDialog(); 
     } 
    }); 
} 

private void setContinueAction() { 
    mBinding.textContinue.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      mBinding.textContinue.setVisibility(View.INVISIBLE); 
      mBinding.progressContinue.setVisibility(View.VISIBLE); 
      mBinding.imgvArrow.setVisibility(View.INVISIBLE); 
      if (fbLoginDetails == null) { 
       model.onContinueAction(prefix, phone, password, name, mBinding.editOtp.getText().toString(), spinnerPos); 
      }else { 
       //TODO FB web call 
       fbLoginDetails.setOTP_code(mBinding.editOtp.getText().toString()); 
       model.onFbLoginAction(fbLoginDetails,() -> { 
        mBinding.textContinue.setVisibility(View.VISIBLE); 
        mBinding.progressContinue.setVisibility(View.INVISIBLE);}); 
      } 
     } 
    }); 
} 


public void otpTextWatcher() { 
    mBinding.editOtp.addTextChangedListener(new SimpleTextWatcher() { 
     @Override 
     public void onTextChanged(@NonNull String newText) { 
      super.onTextChanged(newText); 
      if (newText.length() == 4) { 
       mBinding.textContinue.setEnabled(true); 
       mBinding.textContinue.setBackgroundResource(R.drawable.button_background_selector); 
      }else { 
       mBinding.textContinue.setEnabled(false); 
       mBinding.textContinue.setBackgroundResource(R.drawable.bg_rounded_button_light_orange); 
      } 
     } 
    }); 
} 

public void showOTPDialog() { 
    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(new ContextThemeWrapper(EnterOtpActivity.this, 
      R.style.DialogDark)); 
    String meddleD = getResources().getString(R.string.dialog_msg_sms_middle); 
    alertDialogBuilder.setMessage(getResources().getString(R.string.dialog_msg_sms_will_be) +" "+ prefix + phone +meddleD+getResources().getString(R.string.dialog_is_this_number_correct)); 
    alertDialogBuilder.setCancelable(false); 
    alertDialogBuilder.setPositiveButton(R.string.fragment_contacts_invite_sms_ok, new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      dialog.dismiss(); 
      mBinding.textOTp.setVisibility(View.INVISIBLE); 
      mBinding.progressLogIn.setVisibility(View.VISIBLE); 
      mBinding.editOtp.setText(""); 
      model.reSendOtpRequest(); 
     } 
    }); 
    alertDialogBuilder.setNegativeButton(R.string.edit, new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 

      dialog.dismiss(); 
      finish(); 
     } 
    }); 
    alertDialogBuilder.show(); 
} 

//disable back button 

@Override 
public void onBackPressed() { 
    // do nothing 
} 

@Override 
protected void onPause() { 
    super.onPause(); 
} 

@Override 
protected void onResume() { 
    super.onResume(); 
} 

}

+0

Bitte fügen Sie einige Codes – Debojyoti

+0

ist ein großes Projekt Ich denke Code wird nicht helfen. –

+0

geben Sie uns logcat Informationen und fügen Sie einen Code, um Ihnen zu helfen – Lokesh

Antwort

1

habe ich die Täter in meinem Code, tatsächlich in früheren Umsetzung sie hinzugefügt haben noHostory = "true" in Manifests.xml für diese Tätigkeit, die ist, warum es zu schließen war.

Verwandte Themen