Advertisement
AlexanderSeleznev

ActivityForService

Jun 28th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. public class MainActivity extends AppCompatActivity {
  2.  
  3. private String TAG = "MainActivity";
  4. private TextView timer;
  5.  
  6. @Override
  7. protected void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.activity_main);
  10. timer = (TextView) findViewById(R.id.timer);
  11. startService(new Intent(this, TimerService.class));
  12. Log.i(TAG, "Started service");
  13. }
  14.  
  15. private BroadcastReceiver br = new BroadcastReceiver() {
  16. @Override
  17. public void onReceive(Context context, Intent intent) {
  18. updateGUI(intent); // or whatever method used to update your GUI fields
  19. }
  20. };
  21.  
  22. @Override
  23. public void onResume() {
  24. super.onResume();
  25. registerReceiver(br, new IntentFilter(TimerService.COUNTDOWN_BR));
  26. Log.i(TAG, "Registered broacast receiver");
  27. }
  28.  
  29. @Override
  30. public void onPause() {
  31. super.onPause();
  32. unregisterReceiver(br);
  33. Log.i(TAG, "Unregistered broacast receiver");
  34. }
  35.  
  36. @Override
  37. public void onStop() {
  38. try {
  39. unregisterReceiver(br);
  40. } catch (Exception e) {
  41. // Receiver was probably already stopped in onPause()
  42. }
  43. super.onStop();
  44. }
  45.  
  46. @Override
  47. public void onDestroy() {
  48. stopService(new Intent(this, TimerService.class));
  49. Log.i(TAG, "Stopped service");
  50. super.onDestroy();
  51. }
  52.  
  53. private void updateGUI(Intent intent) {
  54. if (intent.getExtras() != null) {
  55. long millisUntilFinished = intent.getLongExtra("countdown", 0);
  56. timer.setText(String.valueOf((int)millisUntilFinished/1000));
  57. Log.i(TAG, "Countdown seconds remaining: " + millisUntilFinished / 1000);
  58. }
  59. }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement