Метод onStop () вызывается дважды - PullRequest
0 голосов
/ 01 мая 2018

Запуск другого действия из PendingIntent на экране блокировки приводит к тому, что текущая активность (в состоянии onStop()) onStop() вызывается дважды. Ниже тестовый код. Предназначено ли поведение андроида или баг?

  import android.app.PendingIntent;
    import android.content.Intent;
    import android.support.v4.app.NotificationCompat;
    import android.support.v4.app.NotificationManagerCompat;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;



    public class Activity2 extends AppCompatActivity{


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_2);
        Log.w("app_test", "onCreate()");
        showNotification();
    }
    @Override
    protected void onResume() {
        Log.w("app_test", "onResume()");
        super.onResume();
    }

    @Override
    protected void onStop() {
        Log.w("app_test", "onStop()");
        super.onStop();
    }
    public void showNotification() {
        Intent intent = new Intent(this, TestActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this, "CHANNEL_ID")
                .setSmallIcon(R.mipmap.ic_launcher)
                .setContentTitle("Title")
                .setContentText("Content text")
                .setContentIntent(pendingIntent)
                .setPriority(NotificationCompat.PRIORITY_DEFAULT);
        NotificationManagerCompat.from(this).notify(102, mBuilder.build());
    }
}

Вот результаты журнала

W/app_test: onCreate()
W/app_test: onResume()
W/app_test: onStop()
W/app_test: onStop()
...