Я новичок в Android!

Я хочу создать фоновую службу, пользовательский интерфейс содержит поле EditText (в котором пользователь вводит время) и кнопки «начать действие» и «остановить действие». При нажатии кнопки «Начать активность» в журнале cat будет отображаться информация о том, что служба запущена, а также будет отображаться повторяющееся информационное сообщение журнала после интервала времени, указанного пользователем! моя проблема в том, что я могу получить значение времени, предоставленное пользователем в поле EditText, но как я могу его использовать?

public class ServicesDemo extends Activity implements OnClickListener {
    ...

    public void onClick(View src) {
              switch (src.getId()) {        
          case R.id.buttonStart:
          Log.d(TAG, "onClick: starting srvice");

              EditText text = (EditText) findViewById(R.id.text);
          int i = Integer.parseInt(text.getText().toString());

              Intent intent = new Intent(this, ServicesDemo.class);
          startService(new Intent(this, MyService.class));
          break;
}}

(Мне нужно как-то передать int i в MyService.class, так как я буду использовать его в onStart(Intent intent, int startid)

public class MyService extends Service { .. }

ПРОБЛЕМА РЕШЕНА: просто поместите «int i» в намерение (а также немного изменив намерение) в расширении класса.

Intent i1 = new Intent(this, MyService.class);
i1.putExtra("milisec", i*1000);

Тогда изменение в службе расширения класса будет:

value = intent.getExtras().getInt("milisec");

Теперь мы можем использовать переменную «значение»! С уважением!

0
Farhan 18 Мар 2011 в 13:37

1 ответ

Используйте привязку между сервисом и активностью. Поиск здесь дает вам некоторые результаты:

как-связать-эту-службу-в-андроиде

Привязка службы

0
Community 23 Май 2017 в 15:26
Может быть это один из способов решения этой проблемы, я его не проверял, но я нашел другое решение!
 – 
Farhan
21 Мар 2011 в 14:55
Пожалуйста, опубликуйте его здесь как ответ, чтобы поделиться знаниями с сообществом.
 – 
Vladimir Ivanov
21 Мар 2011 в 15:05