Это код класса сервиса, который я создал. Это дает мне ошибку Unreachable code в строке handler.post (timedtask). Я прокомментировал это полужирным шрифтом. Пожалуйста, помогите мне с этим. Это убивает меня!
public class ServerChecker extends Service { NotificationCompat.Builder mBuilder; Намеренный результатIntent; Обработчик обработчика; Runnable timedtask; Строка bus_no; int mystoppageindex;Почему это заявление обработчика невосстанавливающего кода?
public ServerChecker() {
}
@Override
public void onCreate() {
super.onCreate();
bus_no = PrefsHelper.getFromPreferences(MyApplication.getAppContext(), "BUSNO", "");
mBuilder = (NotificationCompat.Builder) new NotificationCompat.Builder(this)
.setTicker("Your bus is arriving")
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("My notification")
.setContentText("Hello World!")
.setDefaults(Notification.DEFAULT_SOUND)
.setAutoCancel(true);
resultIntent = new Intent(this, LoginActivity.class);
String url = Config.url + "arrivalwarning.php?bus_no=3-C";
final StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
mystoppageindex = Integer.parseInt(PrefsHelper.getFromPreferences(MyApplication.getAppContext(), "STOPPAGEINDEX", ""));
try {
JSONObject jsonObject = new JSONObject(response);
int currentstoppageindex = Integer.parseInt(jsonObject.getString("stoppage_index"));
if (mystoppageindex - currentstoppageindex == 2) {
TaskStackBuilder stackBuilder = TaskStackBuilder.create(MyApplication.getAppContext());
stackBuilder.addParentStack(LoginActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, mBuilder.build());
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
handler = new Handler();
timedtask = new Runnable() {
@Override
public void run()
{
Log.d("TAG","Runnable");
// VolleySingleton.getInstance().getRequestQueue().add(request);
handler.postDelayed(timedtask, 60000);
}
};
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return super.onStartCommand(intent, flags, startId);
handler.post(timedtask); **// WHY IS THIS LINE AN ERROR UNREACHABLE CODE**
}
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public void onDestroy() {
super.onDestroy();
handler.removeCallbacks(timedtask);
}
}
" ПОЧЕМУ ЭТО ЛИНИЯ ОШИБКА НЕПРЕРЫВНОГО КОДА "- Потому что у вас это есть после заявления' return'. Переместите его до этого. –