【发布时间】:2011-03-18 10:37:47
【问题描述】:
我是 Android 新手!
我想创建一个后台服务,UI 包含 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");
现在我们可以使用“值”变量了! 问候!
【问题讨论】:
标签: android service android-activity