Mam widget i muszę zaktualizować widget, gdy pojawi się akcja android.media.RINGER_MODE_CHANGED
. Mam folowing odbiornik nadanie:widget aktualizacji Androida z odbiornika transmisji
public void onReceive(Context context, Intent intent) {
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context.getApplicationContext());
ComponentName thisWidget = new ComponentName(context.getApplicationContext(), ExampleAppWidgetProvider.class);
int[] appWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget);
if (appWidgetIds != null && appWidgetIds.length > 0) {
for (int widgetId : appWidgetIds) {
RemoteViews remoteViews = new RemoteViews(context
.getApplicationContext().getPackageName(),
R.layout.widget1);
appWidgetManager.updateAppWidget(widgetId, remoteViews);
}
}
}
i ten kod SI moim widget
public class ExampleAppWidgetProvider extends AppWidgetProvider {
DateFormat df = new SimpleDateFormat("hh:mm:ss");
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
final int N = appWidgetIds.length;
for (int i = 0; i < N; i++) {
int appWidgetId = appWidgetIds[i];
//my pudate widget code
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
}
<receiver android:name=".ExampleAppWidgetProvider" android:label="demo widget">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widget1_info" />
</receiver>
więc moim problemem jest to, że nawet jeśli dyspozycja appWidgetManager.updateAppWidget(widgetId, remoteViews);
z mojego odbiornika transmisji jest wykonywana metoda aktualizacji wewnątrz widget nie jest wykonywany. Czy ktoś wie dlaczego?
jak urok :) – Sandman
co będzie ten kod zrobić proszę wyjaśnić trochę będzie wywołać metodę onUpdate każdym czasie transmisji jest otrzymał? lub coś innego? –
proszę podać cel tych trzech linii: –