@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 으로 바꾸면 정상동작은 하는데, 딱 한 번 밖에 뜨지 않습니다.
어떻게 해결해야하나요?