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.

  • Implementar ListView en los widgets Android
  • ¿Cómo eliminar el widget cuando la aplicación se desinstala en Android?
  • Cambiar el color de la pista
  • Widget de Android diferente orientación vertical y horizontal
  • Iniciar VPNService desde dentro de widget android
  • Android Widget usando Cordova
  • ¿Cómo editar / cambiar la vista desde el diseño en RemoteView o crear RemoteView desde la vista?
  • Android: agrega AppWidgets a una actividad
  • Android: Cómo crear un widget de botón personalizado
  • ¿Hay una manera fácil de golpear el texto en un widget de aplicación?
  • Estilos de widgets personalizados de Android: cómo colocarlos en un espacio de nombres?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.