마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

PendingIntent를 사용한 Activity 실행시 최초만 실행되고 그 이후는 실행이 안 됩니다.

0 추천

안녕하세요. Acdtivity 실행이 제가 원하고자 하는 방향으로 되지를 않아서 이렇게 질문을 드립니다.

우선 코드는 아래와 같습니다.

	@Override
	protected void onMessage(Context context, Intent intent) {
	
		Intent notiIntent = new Intent(context, NotiContentsActivity.class);
		notiIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
		
		notiIntent.putExtra("type", type);

        PendingIntent sender = PendingIntent.getActivity(context, 0, notiIntent,  PendingIntent.FLAG_ONE_SHOT);
        
		try {
			sender.send();
		} catch (CanceledException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

CGM으로 푸시를 받은 후 Activity(NotiContentsActivity.class)를 띄워서 처리하고자 합니다. 

하지만 제가 의도한대로 동작을 하지 않는 경우가 있습니다.

앱이 실행되고 있지 않은 상태에서 처음 푸시를 받은 경우 제대로 Activity를 호출합니다.

호출 된 후 아무동작도 하지않고 슬립으로 빠질 때까지 기다린 후 다시 한번 푸시를 날리면 푸시는 오지만

Activity를 호출하지 못 합니다.

화면이 활성화 되어 있는 경우는 잘 동작하나 화면이 슬립이 빠진 후에만 이러한 현상을 보이네요.

 

intent생성 시 왠만한 flag를 다 사용해 보았고 intent를 final로도 해보았으며, PendingIntent Flag도 4가지 모두 사용해보았으나 2번째 푸시부터 Activity를 호출하지 못 합니다.

특별한 이유가 있는지..아니면 제가 간과하고 있는 부분이 있는지 궁금합니다.

 

A.k.a D.k (120 포인트) 님이 2013년 8월 28일 질문
A.k.a D.k님이 2013년 8월 28일 수정
해당 activity에 onNewIntent는 확인해 보셨나요?

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...