Я разработал приложение (называемое мгновенными кнопками), и приложение имеет функцию виджета. Этот виджет использует PendingIntent для onClick виджета.
Мой код PendingIntent выглядит примерно так:
Intent active = new Intent(context, InstantWidget.class);
active.setAction(String.valueOf(appWidgetId));
active.putExtra("blabla", blabla); //Some data
PendingIntent actionPendingIntent = PendingIntent.getBroadcast(context, 0, active, 0);
actionPendingIntent.cancel();
actionPendingIntent = PendingIntent.getBroadcast(context, 0, active, 0);
remoteViews.setOnClickPendingIntent(R.id.button, actionPendingIntent);
OnReceive получает намерение и делает некоторые вещи с классом MediaPlayer для воспроизведения звука.
У меня есть сообщения от некоторых пользователей о том, что виджеты перестают работать через некоторое время, и благодаря некоторым исследованиям, которые я обнаружил, это потому, что Task Killers. Кажется, что когда вы убиваете приложение в TaskKiller, PendingIntent стирается из памяти, поэтому, когда вы щелкаете виджет, он не знает, что делать.
Есть ли какое-то решение для этого? Мой код неправильный или что-то в этом роде, или это поведение по умолчанию для PendingIntent? Есть ли что-то, что я могу использовать, чтобы TaskKiller мешал работе моих виджетов ??
Привет.