@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if(intent != null) {
Log.i("INTENT", intent.getAction().toString());
}
return START_STICKY;
}
次しているが、それは常に行にNullPointerException
返します
Log.i("INTENT", intent.getAction().toString());
なぜ?私は上記の "インテント"変数がnullでないかどうかチェックしています。その場合、次のコードを実行します。しかし、私はまだnullpointerexceptionを持っています。
サービスはそのような活動から開始された:私は間違って何をやっている
startService(new Intent(this, MainService.class));
?
おそらくgetAction()はnullを返します。それを文字列でチェックしてみてください。 'String s = intent.getAction()。toString();'のようなもので、nullかどうかを確認してください。 – Wamasa
私はこのサービスを開始するブロードキャストを持っているので、私は活動で開始されたサービスまたはブロードキャストで開始されたサービスを区別したいと思います。 –
@Wamasa私は試しました。それでもnullpointerexceptionを返します。 getAction()を削除すると、サービスは正常に開始されます。 Wtf? –