No se puede iniciar el servicio con null

Recientemente codifiqué un Widget de Android y lo probé en Emulator, así como en mi Galaxy S, funcionó bien en ambos, después de haber publicado el mismo en Android Market ahora estoy recibiendo algunos informes de error.

Estoy declarando un servicio en el onUpdate de Widget Class como este:

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:

 java.lang.RuntimeException: Unable to start service dialer.impact.DialerService@45f926f0 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 indica una NullPointerException en la línea 18 de ServiceClass que es:

 @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()); } 

La línea 18 es el String command = intent.getAction();

¿Cuál podría ser la razón de la intención de ser nulo por favor ayuda

De acuerdo con la documentación de onStart() (en realidad onStartCommand() pero los parámetros son los mismos):

Intención La Intención se suministra a startService (Intención), tal como se da. Esto puede ser nulo si el servicio se está reiniciando después de que su proceso ha desaparecido y que había devuelto anteriormente cualquier cosa excepto START_STICKY_COMPATIBILITY.

Hola sólo para agregar a esto, por lo que la solución es sólo para agregar un if (intention! = Null) antes de la getAction ()? ¿Si hago esto, el servicio comenzará para arriba correctamente más adelante en sus los propios? Lo que significa que el sistema operativo realmente me ayuda a iniciar el servicio correctamente en el caso de una intención nula. Tengo miedo de terminar en una situación en la que el servicio no se inicia en absoluto.

  • ¿Hay herramientas de interfaz de usuario personalizadas para Android?
  • Android: no se puede abrir el contenido: file: /// storage / emulated / 0
  • Cómo llamar manualmente `onUpdate` desde el propio widget
  • ¿Cómo crear un widget de Android con opciones?
  • Widgets desaparecidos tras la actualización de la aplicación
  • Los bordes redondos de Android en la barra de progreso en forma de anillo
  • Actualizar Android Widget de la actividad
  • Android: la adición de datos al intento falla al cargar la actividad
  • EditText: Desactivar el menú emergente de Pegar / Reemplazar en el evento de clic del controlador de selección de texto
  • Android RemoteViews, ¿cómo configurar ScaleType de un ImageView dentro de un widget?
  • Buscar ID de widget de la pantalla de inicio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.