¿Por qué el servicio Android falla con NullPointerException?

Aquí está el código:

public class BillingService extends Service implements ServiceConnection { ... @Override public void onStart(Intent intent, int startId) { handleCommand(intent, startId); // line 361 } /** * The {@link BillingReceiver} sends messages to this service using intents. * Each intent has an action and some extra arguments specific to that action. * @param intent the intent containing one of the supported actions * @param startId an identifier for the invocation instance of this service */ public void handleCommand(Intent intent, int startId) { String action = intent.getAction(); if (Debug.Yes) { Log.i(TAG, "handleCommand() action: " + action); } if (Consts.ACTION_CONFIRM_NOTIFICATION.equals(action)) { String[] notifyIds = intent.getStringArrayExtra(Consts.NOTIFICATION_ID); confirmNotifications(startId, notifyIds); } else if (Consts.ACTION_GET_PURCHASE_INFORMATION.equals(action)) { String notifyId = intent.getStringExtra(Consts.NOTIFICATION_ID); getPurchaseInformation(startId, new String[] { notifyId }); } else if (Consts.ACTION_PURCHASE_STATE_CHANGED.equals(action)) { String signedData = intent.getStringExtra(Consts.INAPP_SIGNED_DATA); String signature = intent.getStringExtra(Consts.INAPP_SIGNATURE); purchaseStateChanged(startId, signedData, signature); } else if (Consts.ACTION_RESPONSE_CODE.equals(action)) { long requestId = intent.getLongExtra(Consts.INAPP_REQUEST_ID, -1); int responseCodeIndex = intent.getIntExtra(Consts.INAPP_RESPONSE_CODE, ResponseCode.RESULT_ERROR.ordinal()); ResponseCode responseCode = ResponseCode.valueOf(responseCodeIndex); checkResponseCode(requestId, responseCode); } } 

Aquí está el LogCat:

 java.lang.RuntimeException: Unable to start service tv.kinobaza.billing.BillingService@45129a30 with null: java.lang.NullPointerException at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3063) at android.app.ActivityThread.access$3600(ActivityThread.java:125) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2096) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4627) 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:876) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NullPointerException at tv.kinobaza.billing.BillingService.onStart(BillingService.java:361) at android.app.Service.onStartCommand(Service.java:420) at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3053) ... 10 more 

Creo que la causa más probable sería porque la intent sería null . De acuerdo con la documentación de onStartCommand :

intent

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

 @Override public void onStart(Intent intent, int startId) { handleCommand(intent, startId); } @Override public int onStartCommand(Intent intent, int flags, int startId) { handleCommand(intent, startId); return START_NOT_STICKY; } 
  • Usar SharedPreferences en modo multiproceso
  • Android: El servicio se detiene cuando la actividad está cerrada
  • Solicitar contraseña antes de desinstalar la aplicación
  • El servicio de Android se detiene cuando se cierra la aplicación
  • Android: El botón de superposición onClick nunca se llama
  • Proporcionar un servicio de fondo para otras aplicaciones
  • StopSelf no detiene mi servicio
  • Android: crea un servicio que se ejecuta una vez al día
  • ¿Por qué no se inicia el servicio después de BOOT_COMPLETED?
  • Puede un servicio de Android proporcionar dos interfaces para comunicarse con?
  • Servicio de fondo en Android - Necesita ayuda
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.