Ich habe seit drei Tagen mit diesem Problem gearbeitet und ich habe jede einzelne Frage hier für eine Antwort untersucht. Ich habe ein Widget mit einem Knopf und alles, was ich möchte, ist einen Dienst zu starten, jedes Mal wenn es angeklickt wird. Das Problem ist, dass die Schaltfläche nicht mehr funktioniert. Ich kann es überhaupt nicht neu erstellen und ich habe keine Ahnung, was es verursacht. Mein Service ruft stopSelf() auf; aber ich hatte dieses problem mit einem broadcast receiver auch deshalb glaube ich das problem im widget zu sein und nicht im service. Hier ist der CodeAndroid Widget funktioniert nicht mehr zufällig
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);
}
}
Ich habe diesen Code immer wieder überprüft und ich habe keine Ahnung, warum es das tut. Es macht das auf 3 separaten Telefonen und ich kann es nicht neu erstellen. Ich habe versucht, die App zu beenden, sie von einem Task-Manager zu entfernen, neue Widgets usw. hinzuzufügen, damit das Widget nicht mehr funktioniert und es nicht funktioniert. Aber als ich heute Morgen aufwachte, funktioniert das Widget nicht mehr. Jede Hilfe wäre sehr geschätzt.
Sehen Sie etwas im LogCat, wenn es passiert? – CaseyB
Nichts im Logcat, es ist wie eine Schaltfläche ohne onClick-Methode in einer Aktivität. Ich kann sehen, dass es gedrückt wird, aber nichts passiert in der App oder im Logcat. –