P
Pantek
Neues Mitglied
- 0
Hallo!
Ich bin an meinem ersten Widget dran und so gut die ersten paar Schritte auch liefen, so tief stecke ich nun fest. Bis gestern wurde onUpdate brav ausgeführt, wenn das Widget aufm Desktop erstellt wurde und ab dann im angegebenen Takt. Seit gestern allerdings passiert gar nichts mehr. Das Widget wird zwar angezeigt, aber onUpdate nie ausgeführt.
Mir ist nicht klar, dass ich etwas entsprechendes geändert hätte, deswegen bin ich um jeden Hinweis dankbar!
Manifest
Widget Provider
WindfinderWidget.java
Merci im Voraus
Jan
Ich bin an meinem ersten Widget dran und so gut die ersten paar Schritte auch liefen, so tief stecke ich nun fest. Bis gestern wurde onUpdate brav ausgeführt, wenn das Widget aufm Desktop erstellt wurde und ab dann im angegebenen Takt. Seit gestern allerdings passiert gar nichts mehr. Das Widget wird zwar angezeigt, aber onUpdate nie ausgeführt.
Mir ist nicht klar, dass ich etwas entsprechendes geändert hätte, deswegen bin ich um jeden Hinweis dankbar!
Manifest
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ch.pantek.windfinderwidget"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity
android:name=".Main"
android:label="@string/config_title">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
<receiver android:name=".WindfinderWidget" android:label="@string/app_name">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@layout/wf_widget_provider"/>
</receiver>
</application>
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="6"></uses-sdk>
</manifest>
Code:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dip"
android:minHeight="146dip"
android:updatePeriodMillis="1000"
android:initialLayout="@layout/widgetscreen"
/>
Code:
package ch.pantek.windfinderwidget;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.ComponentName;
import android.content.Context;
import android.database.Cursor;
import android.widget.RemoteViews;
public class WindfinderWidget extends AppWidgetProvider
{
long lastupdate=0, goodupdate=0, timediff;
long current=System.currentTimeMillis();
int updatehours, hourcounter;
Context MyContext;
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds)
{
DBDataClass DBData = new DBDataClass(context);
DBData.open();
//Load Settings
Cursor settings=DBData.getSettings();
while( settings.moveToNext() == true)
{
String variable;
variable=settings.getString(settings.getColumnIndex("variabel"));
if (variable.equals("updatehours") == true)
updatehours=settings.getInt(settings.getColumnIndex("wert"));
if (variable.equals("hourcounter") == true)
hourcounter=settings.getInt(settings.getColumnIndex("wert"));
}
settings.close();
if (updatehours==hourcounter)
{
//Update Widget
RemoteViews remoteViews;
ComponentName thisWidget;
remoteViews = new RemoteViews(context.getPackageName(), R.layout.widgetscreen);
thisWidget = new ComponentName(context, WindfinderWidget.class);
appWidgetManager.updateAppWidget(thisWidget, remoteViews);
}
DBData.setHourCounter(hourcounter+1);
DBData.close();
}
}
Jan