내 앱에서는 사용자가 떠나는 경우에만 하나의 인스턴스 만 허용하고 finish
은 허용하는 Activity
이 있습니다. 지금 사용자가 뒤로 단추를 누르거나 탐색 서랍을 사용하여 다른 곳으로 이동하고 탐색하면 해당 활동을 끝내거나 변경 사항을 저장 한 다음 끝내라고 요청합니다.알림에서 실행중인 앱을 입력 할 때 현재 활동을 완료하는 방법
사용자가 앱을 입력하고 푸시 알림 데이터에 표시된 기록에 해당 활동을 열 수있는 푸시 알림을 구현 중입니다. 그러나 앱이 이미 실행 중이고 사용자가 이미 해당 활동을 열어 놓은 경우 새 인스턴스를 열기 전에 변경 사항을 저장하거나 활동을 마치도록 사용자에게 요청할 수 있습니까? 나는 이것을 정확하게 생각하고 있는가?
편집 : 여기 내 BroadcastReceiver에서 만드는 PendingIntent입니다.
private PendingIntent buildPendingIntent(String type, String number)
{
TaskStackBuilder stackBuilder = TaskStackBuilder.create(mContext);
Intent homeIntent = new Intent(mContext, HomeActivity.class);
homeIntent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
stackBuilder.addNextIntent(homeIntent);
Intent queueIntent = new Intent(mContext, QueueActivity.class);
queueIntent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
queueIntent.putExtra(QueueActivity.TYPE, type);
stackBuilder.addNextIntent(queueIntent);
Intent detailIntent = new Intent(mContext, DetailActivity.class);
detailIntent.putExtra(DetailActivity.DETAIL_NUMBER, number);
detailIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
stackBuilder.addNextIntent(detailIntent);
return stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
}
이것은 올바른 해결책 인 것처럼 보이지만 스택의 일부로 활동을 시작합니다. FLAG_ACTIVITY_SINGLE_TOP 플래그는 새로운 작업 스택을 시작하기 때문에 아무 것도하지 않는 것 같습니다. 스택의 루트가 FLAG_ACTIVITY_REORDER_TO_FRONT로 설정 되었는데도 아무것도 수행하지 않습니다. – ashishduh
내가 만들고있는 작업 스택으로 질문을 업데이트했습니다. – ashishduh