androidで、null pointerが出ます。どうすればいいのでしょうか?
コンセントに接続された時に、指定時間後にGPSをoffにしたいです。
指定時間が来る前に、コンセントを抜いて、再度刺された場合は、その刺された時間から指定時間後にoffにしたいです。
java
1 public void gpsStopper(Context context) { 2 Toast.makeText(context, "電源ケーブルが接続されました。指定時間後にserviceを起動する", Toast.LENGTH_SHORT).show(); 3 4 5 int count=powerStatuss.getRemoveHandlerCount(); 6 if (count==0) { 7 count++; 8 powerStatuss.setRemoveHandlerCount(count); 9 10 }else if (count==1) { 11 powerStatuss.setRemoveHandlerCount(count); 12 //handlerが複数動くことになるから古い方を消す。指定時間経って実行されたら、0をセットする 13 handler.removeCallbacks(showMessageTask); 14 } 15 16//この行にエラーがでます。 17 handler.postDelayed(showMessageTask, 1000); 18 19 } 20 21 22 private final Runnable showMessageTask = new Runnable() { 23 @Override 24 public void run() { 25 26 //serviceを呼び出す 27 Intent i_gps = new Intent(receiveContext, GpsService.class); 28 receiveContext.stopService(i_gps); 29 //実行されたので、countを0にセットする 30 powerStatuss.setRemoveHandlerCount(0); 31 } 32 };
java
1 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 2 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Handler.postDelayed(java.lang.Runnable, long)' on a null object reference 3 at com.google.android.exoplayer2.demo.PowerStatusReceiver.gpsStopper(PowerStatusReceiver.java:194) 4 at com.google.android.exoplayer2.demo.PowerStatusReceiver.onReceive(PowerStatusReceiver.java:93) 5 at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:884)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/19 17:10