Странные вещи случаются, если я пытаюсь закончить деятельность. После вызова в первый раз активность закончить метод - активность воссоздает.Android on finish() воссоздает активность
BroadcastReceiver requestReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
long resultRequestId = intent.getLongExtra(DVSServiceHelper.EXTRA_REQUEST_ID, 0);
if(BuildConfig.DEBUG) Log.d(TAG, "received request id: "+ resultRequestId +", current request id: "+ requestId);
if (resultRequestId == requestId) {
int resultCode = intent.getIntExtra(DVSServiceHelper.EXTRA_RESULT_CODE, 0);
Logger.debug(TAG, "result code: "+ resultCode);
switch(resultCode) {
case HttpsURLConnection.HTTP_OK:
//Dummy intent
Intent in = new Intent();
Logger.debug(TAG, "HTTP OK");
//User logged in successfuly. Finish Login activity
LoginActivity.this.setResult(AuthorizationManager.LOGIN_SUCCESS, in);
Logger.debug(TAG, "setting result...");
LoginActivity.this.finish();
Logger.debug(TAG, "finishing...");
break;
...
активность OnCreate метод:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_activity);
Logger.debug(TAG, "[onCreate]");
...
выход LogCat
на первой попытки:
08-14 17:46:00.917: D/(7975): [LoginActivity] result code: 200
08-14 17:46:00.917: D/(7975): [LoginActivity] HTTP OK
08-14 17:46:00.917: D/(7975): [LoginActivity] setting result...
08-14 17:46:00.937: D/(7975): [LoginActivity] finishing...
08-14 17:46:00.977: D/(7975): [LoginActivity] [onCreate]
на попытку секунд:
08-14 17:50:25.437: D/(7975): [LoginActivity] result code: 200
08-14 17:50:25.437: D/(7975): [LoginActivity] HTTP OK
08-14 17:50:25.437: D/(7975): [LoginActivity] setting result...
08-14 17:50:25.537: D/(7975): [LoginActivity] finishing...
08-14 17:50:25.567: D/(7975): [MainActivity] [onActivityResult]
08-14 17:50:25.567: D/(7975): [MainActivity] [onActivityResult]
08-14 17:50:25.567: D/(7975): [MainActivity] [onResume]
EDITED
MainActivty
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Logger.debug(TAG, "[onActivityResult]");
if(AuthorizationManager.REQUEST_LOGIN == requestCode) {
if(AuthorizationManager.LOGIN_FAILED == resultCode) {
Logger.debug(TAG, "Login failed!");
Intent login = new Intent(DVSApplication.getContext(), LoginActivity.class);
startActivityForResult(login, AuthorizationManager.REQUEST_LOGIN);
}
}
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Logger.debug(TAG, "[onCreate]");
//if user isn't saved crediantials - show log in activity
if(!AuthorizationManager.getManager(getApplicationContext()).isLoggedIn()) {
Logger.debug(TAG, "[onCreate] user is not logged in!");
Intent login = new Intent(DVSApplication.getContext(), LoginActivity.class);
startActivityForResult(login, AuthorizationManager.REQUEST_LOGIN);
}
...
}
protected void onResume() {
super.onResume();
Logger.debug(TAG, "[onResume]");
//if user isn't saved crediantials - show log in activity
if(!AuthorizationManager.getManager(getApplicationContext()).isLoggedIn()) {
Logger.debug(TAG, "[onResume] User is not logged in!");
Intent login = new Intent(DVSApplication.getContext(), LoginActivity.class);
startActivityForResult(login, AuthorizationManager.REQUEST_LOGIN);
}
}
Итак, что вы делаете в onActivityResult? А активность запускается через startActivityForResult? – RvdK
после окончания вашей деятельности, куда вы ожидаете? – Siddhesh
Можете ли вы показать, как вы начинаете LoginActivity? – JRomero