Android 1.5, wana отправляет информацию из «расширения класса» в «службу расширения класса» - PullRequest
0 голосов
/ 18 марта 2011

Я новичок в Android!

Я хочу создать фоновую службу, пользовательский интерфейс содержит поле EditText (в котором пользователь вводит время), а также «кнопки начала действия» и «кнопки остановки действия».При нажатии кнопки «Начать действие» в журнале будет отображаться информация о том, что служба запущена, и также будет отображаться повторяющееся сообщение с информацией о журнале после интервала времени, указанного пользователем!моя проблема в том, что я могу получить значение времени, предоставленное пользователем в поле 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");

теперь мы можем использовать переменную "value"! Regards!

1 Ответ

0 голосов
/ 18 марта 2011

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

how-do-i-bind-this-service-in-android

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...