Ho lavorato con questo problema per tre giorni e ho esaminato ogni singola domanda qui per una risposta. Ho un widget con un pulsante e tutto quello che vorrei fosse è avviare un servizio ogni volta che si fa clic. Il problema è che il pulsante smette di funzionare in modo casuale. Non riesco a ricrearlo affatto e non ho idea di cosa lo causi. Il mio servizio chiama stopSelf(); ma ho avuto questo problema con un ricevitore broadcast, quindi credo che il problema sia nel widget e non nel servizio. Ecco il codiceWidget Android smette di funzionare in modo casuale
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
Log.i("Widget", "onUpdate");
final int N = appWidgetIds.length;
for (int i=0; i<N; i++)
{
int appWidgetId = appWidgetIds[i];
Log.i("Widget", "onUpdateLoop");
Intent intent = new Intent(context, ServiceWidgetAction.class);
intent.setAction(Long.toString(System.currentTimeMillis()));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent
.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.widget);
views.setOnClickPendingIntent(R.id.widgetButton, pendingIntent);
views.setTextViewText(
R.id.widgetTextView,
"Some text");
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
Ho controllato questo codice più e più volte e non ho idea del perché lo stia facendo. Lo fa su 3 telefoni separati e non riesco a ricrearlo. Ho provato a forzare l'arresto dell'app, cancellandolo da un task manager aggiungendo nuovi widget ecc. Per far smettere di funzionare il widget e non lo farà. Tuttavia quando mi sono svegliato questa mattina il widget non funziona più. Qualsiasi aiuto sarebbe molto apprezzato.
Si vede qualcosa nel LogCat quando succede? – CaseyB
Nulla nel logcat, è come avere un pulsante senza metodo onClick in un'attività. Vedo che è premuto ma non succede nulla nell'app o nel logcat. –