Kein onUpdate bei Widget?

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
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>
Widget Provider
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"
/>
WindfinderWidget.java
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();
    }        
}
Merci im Voraus
Jan
 

Ähnliche Themen

wernho
Antworten
11
Aufrufe
686
wernho
wernho
D
Antworten
17
Aufrufe
407
datNeMo
D
M
Antworten
3
Aufrufe
162
moin
M
Zurück
Oben Unten