studio - notificaciones push android firebase
No se puede iniciar el servicio[nombre del servicio] con nulo (2)
De acuerdo con la documentación de onStart()
(en realidad onStartCommand()
pero los parámetros son los mismos):
intento Intención suministrada a startService (Intent), tal como se da. Esto puede ser nulo si el servicio se reinicia después de que su proceso haya desaparecido, y anteriormente había devuelto algo excepto START_STICKY_COMPATIBILIDAD.
Recientemente codifiqué un widget de Android y lo probé en Emulator, así como en mi Galaxy S, funcionó bien en ambos, después de publicar el mismo en el mercado de Android ahora recibo algunos informes de errores.
Estoy estableciendo un servicio en la actualización 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 teniendo 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 la ServiceClass
que es esto:
@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 nula por favor ayuda
Hola solo para agregar a esto, entonces la solución es solo agregar un if (intento! = Nulo) antes de getAction ()? Si hago esto, ¿el servicio se iniciará correctamente más adelante? Lo que significa que el sistema operativo en realidad me ayuda a comenzar el servicio correctamente en el caso de un intento nulo. Tengo miedo de terminar en una situación donde el servicio no se inicia en absoluto.