recientemente codifiqué un widget de Android y lo probé en Emulator, así como en mi Galaxy S, funcionó bien en ambos, después de publicarlo en el mercado de Android ahora recibo algunos informes de erroresNo se pudo iniciar el servicio [nombre del servicio] con nulo
estoy afirmando un servicio en el onUpdate de Widget clase como esta:
if (appWidgetIds != null) {
final int N = appWidgetIds.length;
// Perform this loop procedure for each App Widget that belongs to
// this
// provider
for (int i = 0; i < N; i++) {
// Start Service for each instance
int appWidgetId = appWidgetIds[i];
Intent active = new Intent(context, DialerService.class);
active.setAction("Start");
active.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,
appWidgetId);
context.startService(active);
}
}
el error que algunas personas están recibiendo es: afirma
java.lang.RuntimeException: Unable to start service [email protected] with null: java.lang.NullPointerException
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3282)
at android.app.ActivityThread.access$3600(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2211)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:144)
at android.app.ActivityThread.main(ActivityThread.java:4937)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
**at dialer.impact.DialerService.onStart(DialerService.java:18)**
at android.app.Service.onStartCommand(Service.java:420)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3267)
... 10 more
error de un NullPointerException
en la línea 18 de la ServiceClass
que es este:
@Override
public void onStart(Intent intent, int startId) {
//Line 18th
String command = intent.getAction();
int appWidgetId = intent.getExtras().getInt(
AppWidgetManager.EXTRA_APPWIDGET_ID);
RemoteViews remoteView = new RemoteViews(getApplicationContext()
.getPackageName(), R.layout.main);
AppWidgetManager appWidgetManager = AppWidgetManager
.getInstance(getApplicationContext());
}
Línea 18 es la String command = intent.getAction();
lo que podría ser la razón de la intención de ser nula favor ayuda
Gracias, eso parece ser, creo que las aplicaciones Task Killer que las personas usan podrían estar matando el servicio – Parvesh
, así que ¿cómo manejarlo cuando se reinicie el servicio? siempre comete el error – yozawiratama
¿Hay alguna manera de evitar esto? Estoy obteniendo los mismos problemas con Google Analytics en mi aplicación. –