WidgetProgrammierung! Kein onUpdate()

P

padde83

Ambitioniertes Mitglied
0
Hallo Zusammen,

ich möchte ein kleines Widget-Schreiben welches Daten von einem Websever überprüft. Nun habe ich mir die Beispielimplementierung App Widgets | Android Developers angeschaut und danach mein Widget erstellt.

Widget-Info
Code:
<?xml version="1.0" encoding="UTF-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="294dp"
    android:minHeight="72dp"
    android:updatePeriodMillis="1800000"
    android:initialLayout="@layout/widget_layout" >
</appwidget-provider>
Widget-Layout:
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="horizontal" android:background="@drawable/background" android:padding="10dip">
  <ImageView android:id="@+id/widget_icon" android:src="@drawable/icon_pro" android:layout_width="wrap_content" android:layout_height="wrap_content" />
  <TextView android:id="@+id/widget_text" android:text="dummy" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</LinearLayout>
Android-Manifest:
Code:
<?xml version="1.1" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test.widget" android:versionCode="1"
    android:versionName="1.0">
    <application android:icon="@drawable/icon_pro"
        android:label="@string/app_name" android:theme="@style/Theme.Light.Workaround"
        android:debuggable="true">
.....
      <receiver android:name=".MyWidgetProvider" >
             <intent-filter>
                    <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <meta-data android:name="android.appwidget.provider"
               android:resource="@xml/widgetinfo" />
        </receiver>
    </application>
    <uses-sdk android:minSdkVersion="4" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.VIBRATE"></uses-permission>
    <uses-permission android:name="android.permission.CAMERA" />
Mein Problem ist das die onUpdate()-Methode meines AppWidgetProviders nur einmal aufgerufen wird und zwar beim erstellen des Widgets. Normalerweise sollte diese ja jede halbe Stunde aufgerufen werden. Tut se leider nicht. :( Was mich auch zu einer weiteren Frage führt.
Ist es Möglich das Intervall kleiner zu wählen? Ich meine ich hätte da was gelesen das es ab 1.6 nicht mehr möglich ist.
Code:
public class MyWidgetProvider extends AppWidgetProvider{
    
    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager,
            int[] appWidgetIds) {
        super.onUpdate(context, appWidgetManager, appWidgetIds);
        Log.d(this.getClass().getSimpleName(), "Started on ["+DateFormat.getDateTimeInstance().format(new Date())+"]");
    }
Im Beispiel unter WordWidget.java - wiktionary-android - Project Hosting on Google Code habe ich schon gesucht aber keine Lösung gefunden.

Zur Info ich teste auf einem Milestone mit 2.1

Gruß und Danke
padde
 
Hallo zusammen,

also der Code aus meinem vorherigen Beitrag funktioniert.

Anscheinend nimmt es das Android-System nicht so genau mit den 30 minuten. Es können auch leicht mal 45 minuten werden bis ein update durchgeführt wird.

Also Problem gelöst :)
 

Ähnliche Themen

S
Antworten
3
Aufrufe
625
swa00
swa00
A
Antworten
17
Aufrufe
1.827
starbright
S
5
Antworten
22
Aufrufe
1.366
590239
5
Zurück
Oben Unten