Я создал сервис для обработки моих намерений onClick в виджете. Но оно принудительно закрывается при добавлении на экран, и я не могу понять, почему.
Этот метод вызывает FC:
public void onClick() {
RemoteViews top=new RemoteViews(context.getPackageName(), layoutID);
RemoteViews bottom=new RemoteViews(context.getPackageName(), layoutID);
Intent clickintenttop=new Intent("android.tristan.widget.digiclock.CLICK1");
Intent clickintentbottom=new Intent("android.tristan.widget.digiclock.CLICK2");
PendingIntent pendingIntentClickTop=PendingIntent.getBroadcast(context, 0, clickintenttop, 0);
PendingIntent pendingIntentClickBottom=PendingIntent.getBroadcast(context, 0, clickintentbottom, 0);
bottom.setOnClickPendingIntent(R.id.BottomRow, pendingIntentClickBottom);
top.setOnClickPendingIntent(R.id.TopRow, pendingIntentClickTop);
int Top = appWidgetIds.length;
int Bottom = appWidgetIds.length;
for (int i=0; i<Top; i++)
{
appWidgetManager.updateAppWidget(appWidgetIds[i], top);
}
for (int j=0; j<Bottom; j++)
{
appWidgetManager.updateAppWidget(appWidgetIds[j], bottom);
}
}
Метод вызывается из onCreate (). Кто-нибудь, кто может подтолкнуть меня в правильном направлении?
РЕДАКТИРОВАТЬ: взято из LogCat:
W / dalvikvm (22312): threadid = 1: поток выходит с необработанным исключением (группа = 0x400259f8)
E / AndroidRuntime (22312): ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: main
E / AndroidRuntime (22312): java.lang.RuntimeException: невозможно создать службу android.tristan.widget.digiclock.IntentService: java.lang.NullPointerException
E / AndroidRuntime (22312): на android.app.ActivityThread.handleCreateService (ActivityThread.java:3140)
E / AndroidRuntime (22312): на android.app.ActivityThread.access $ 3300 (ActivityThread.java:135)
E / AndroidRuntime (22312): на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:2202)
E / AndroidRuntime (22312): на android.os.Handler.dispatchMessage (Handler.java:99)
E / AndroidRuntime (22312): на android.os.Looper.loop (Looper.java:144)
E / AndroidRuntime (22312): на android.app.ActivityThread.main (ActivityThread.java:4937)
E / AndroidRuntime (22312): по адресу java.lang.reflect.Method.invokeNative (собственный метод)
E / AndroidRuntime (22312): в java.lang.reflect.Method.invoke (Method.java:521)
E / AndroidRuntime (22312): на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:868)
E / AndroidRuntime (22312): на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:626)
E / AndroidRuntime (22312): в dalvik.system.NativeStart.main (собственный метод)
E / AndroidRuntime (22312): вызвано: java.lang.NullPointerException
E / AndroidRuntime (22312): на android.tristan.widget.digiclock.IntentService.onClick (IntentService.java:58)
E / AndroidRuntime (22312): на android.tristan.widget.digiclock.IntentService.onCreate (IntentService.java:40)
E / AndroidRuntime (22312): на android.app.ActivityThread.handleCreateService (ActivityThread.java:3125)