如何将价值从活动传递到服务?

时间:2014-11-17 11:36:19

标签: android

我已将服务编写为库项目并将该服务连接到另一个应用程序。现在我想将一些输入值传递给service.how,我可以通过吗?

传递如下值:

Intent intent = new Intent(SelfMonitor.this, SchedulerService.class);
intent.putExtra("initialDelay", initialDelay);
intent.putExtra("endTime", endTime);
startService(intent);

在服务中获得这样的价值:

initialDelay = Integer.parseInt(intent.getStringExtra("initialDelay"));
endTime = intent.getStringExtra("endTime");

但我得到null pointer例外?

2 个答案:

答案 0 :(得分:0)

就像你在活动中所做的那样,

 Intent intent =  new Intent(Activity.this, YourService.class);
    intent.putExtra("key", value);
    startService(intent);

并在您的服务中

Bundle extras = getIntent().getExtras();
if (extras != null)
{
value = extras.getString("key", "somestring");
}

有关详细信息,请see this

答案 1 :(得分:0)

You need serviceIntent for this purpose.

Intent serviceIntent = new Intent(Activity.this, CheckAPI.class);
serviceIntent.putExtra("number", "96999");
serviceIntent.putExtra("message", "hello world");         
startService(serviceIntent);