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

위젯에서 dialog 테마의 activity를 호출하면, 실행되고 있는 앱이 뜹니다

0 추천
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
  super.onUpdate(context, appWidgetManager, appWidgetIds);
  
  RemoteViews updateViews = new RemoteViews(context.getPackageName(), R.layout.layout_widget);
  
  Intent intent1 = new Intent(context, MainActivity.class);
  PendingIntent pendingIntent1 = PendingIntent.getActivity(context, 0, intent1, PendingIntent.FLAG_CANCEL_CURRENT);
  updateViews.setOnClickPendingIntent(R.id.btn1, pendingIntent1);
  
  Intent intent2 = new Intent(context, DialogActivity.class);
  PendingIntent pendingIntent2 = PendingIntent.getActivity(context, 1, intent2, PendingIntent.FLAG_CANCEL_CURRENT);
  updateViews.setOnClickPendingIntent(R.id.btn2, pendingIntent2);
  
  appWidgetManager.updateAppWidget(appWidgetIds, updateViews);
}

 

위젯에는 버튼이 두 개 달려있습니다.

버튼1은 앱을 구동시키는 것이고, 버튼2는 다이얼로그 형태의 액티비티를 띄우는 것입니다.

 

문제는 앱을 구동시키고, 홈버튼을 눌러서 홈화면으로 나온 뒤에, 버튼 2를 눌러서 다이얼로그 형태의 액티비티를 띄우면 현재 실행되고 있는 앱이 뜨고, 그 위에 다이얼로그 액티비티가 뜹니다.

(앱 구동은 버튼1 이나 아이콘을 눌러서 실행합니다)

 

PendingIntent의 플래그를 PendingIntent.FLAG_ONE_SHOT 으로 바꾸면 정상동작은 하는데, 딱 한 번 밖에 뜨지 않습니다. 

어떻게 해결해야하나요?

쎄미 (162,410 포인트) 님이 2014년 9월 15일 질문
쎄미님이 2014년 9월 15일 수정

답변 달기

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