Я новичок в 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");
Теперь мы можем использовать переменную «значение»! С уважением!
1 ответ
Используйте привязку между сервисом и активностью. Поиск здесь дает вам некоторые результаты:
как-связать-эту-службу-в-андроиде
Похожие вопросы
Связанные вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.