Кнопка AppWidget onClick перестает работать - PullRequest
1 голос
/ 02 мая 2011

У меня есть виджет, который я пытаюсь создать, который состоит только из кнопки. То, что я хочу сделать, - это нажать кнопку, а затем запустить какой-то простой фрагмент кода (в моем тесте это оповещение о тосте). Вначале кажется, что он работает нормально, но внезапно кнопка перестает реагировать на нажатия. Я заметил это постоянно после того, как телефон спал. Вот мой код для AppWidgetProvider.

OnUpdate:

for (int appWidgetId : appWidgetIds) {
    RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.my_widget);
    Intent intent = new Intent(context, MyNewWidgetProvider.class);
    intent.setAction("MyCode");
    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
    remoteView.setOnClickPendingIntent(R.id.my_btn, pendingIntent);

    AppWidgetManager.getInstance(context).updateAppWidget(appWidgetId, remoteView);
}

OnReceive:

super.onReceive(context, intent);

if (intent.getAction().equals("MyCode")) {          
    Toast toast = Toast.makeText(context, "It worked", Toast.LENGTH_SHORT);
    toast.show();   

}

Я довольно озадачен, поэтому, если кто-нибудь сможет помочь мне направить меня в правильном направлении, я буду признателен. Как я уже сказал, он работает нормально, пока телефон не спит минуту или две, а затем полностью перестает реагировать на щелчки.

Спасибо!

1 Ответ

1 голос
/ 12 июля 2011

Ожидаемое намерение «сжигается» после каждого использования. Вам нужно установить его снова. Или подождите, пока обновится виджет, тогда это тоже случится, но это, вероятно, не желаемый способ.

...