App wird erstellt, startet aber nicht

V

v3rtex

Neues Mitglied
1
Also ich habe hier eine App vorbereitet, welche im Homescreen korrekt erstellt wird, der Code bei OnUpdate wird leider komplett ignoriert.

Könnt ihr mir helfen den Fehler zu finden?

widget.java:
package android.widget;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;

import android.widget.RemoteViews;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;


public class widget extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
//RemoteViews updateViews = new RemoteViews(context.getPackageName(), R.layout.main);
String text1="";
String text2="";
String text3="";

String url_string="http://......";
String line = "";
String code = "";
Exception ex;

try
{
URL url = new URL(url_string);
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));

while ((line = br.readLine()) != null)
{
code= code + line;
}
}
catch (Exception e)
{
ex = e;
}
final int N = appWidgetIds.length;

for (int i = 0; i < N; i++) {
int appWidgetId = appWidgetIds;
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
Provider:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="290px"
android:initialLayout="@layout/main"
android:label="Widget"
android:updatePeriodMillis="10000"
/>
Manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.widget"
android:versionCode="1"
android:versionName="1.0">
<application
android:icon="@drawable/icon" android:label="@string/app_name">
<receiver android:name=".widget" android:label="Widget">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/provider"
/>
</receiver>
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-sdk android:minSdkVersion="5" />
</manifest>
Wie gesagt, das Widget wird nach dem Hinzufügen auf dem Homescreen korrekt erstellt, leider wird keinerlei Code im Bereich "onUpdate" ausgeführt.
Fehler erhalte ich keine.

Hoffe jemand kann mir helfen.
Danke.
 
Zuletzt bearbeitet:
Sieht erst mal nicht schlecht aus, natürlich kann der Fehler in den Details liegen, die Du weggelassen hast.

Was ich in jedem Fall vermisse sind log Ausgaben. Woher weisst du denn sonst, dass Deine onUpdate nicht aufgerufen wurde? Zumindest beim ersten erzeugen des Widgets wird es normalerweise immer! aufgerufen.
 
Interessant, habe eben bemerkt dass der Code doch ausgeführt wird wenn ich in der for schleife einem TextView einen String übergebe.

Bisher habe ich wie bei Anwendungen Breakpoints zum debugging gesetzt, welche jedoch bei widgets immer ignoriert werden.
Dadurch ging ich davon aus, dass "onUpdate" nicht ausgeführt wird.
Ist es denn normal, dass man Widgets mit Eclipse nicht debuggen kann?

Zu den Logs:

Das Einzige dort ist "No Launcher Activity found" was jedoch klar sein sollte, da das Widget mithilfe von einem AppWidgetProvider erstellt wird.
 
Zuletzt bearbeitet:
Ich habs grad mal ausprobiert. Stimmt, Breakpunkte in der onUpdate des AppWidgetProviders werden auch bei mir nicht ausgeführt.

Korrektur: Lässt sich doch debuggen. Man muss das Widget von Homescreen löschen. Dann das App im Debugger starten, und neu auf dem Homescreen erzeugen. Dabei MUSS der Code von onUpdate durchlaufen werden, und dann landet er im Breakpoint. Das zeitgesteuerte Durchlaufen der onUpdate ist im Debugger natürlich viel schwieriger zu erzwingen, da Dein System nicht gerade still stehen darf, weil Du was anderes im Debugger machst.
 
Zuletzt bearbeitet:

Ähnliche Themen

5
Antworten
22
Aufrufe
1.420
590239
5
Manny87
  • Manny87
Antworten
11
Aufrufe
164
swa00
swa00
M
  • MikelKatzengreis
Antworten
10
Aufrufe
219
swa00
swa00
Zurück
Oben Unten