Android 如何将活动中的数据发送到Service
我试图通过意图将数据从活动发送到服务 这是我的活动类中的代码Android 如何将活动中的数据发送到Service,android,service,android-intent,Android,Service,Android Intent,我试图通过意图将数据从活动发送到服务 这是我的活动类中的代码 Intent i= new Intent(this,SampService.class); i.putExtra("startTimeHour", timePicker1.getCurrentHour()); i.putExtra("endTimeHour", timePicker2.getCurrentHour()); i.putExtra("startTimeMinute",timePicker1.get
Intent i= new Intent(this,SampService.class);
i.putExtra("startTimeHour", timePicker1.getCurrentHour());
i.putExtra("endTimeHour", timePicker2.getCurrentHour());
i.putExtra("startTimeMinute",timePicker1.getCurrentMinute());
i.putExtra("endTimeMinute", timePicker2.getCurrentMinute());
startActivity(i);
这是我的服务类中的代码
public class SampService extends Service implements Runnable {
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
public void onCreate()
{
Toast.makeText(getApplicationContext(), "Service Created", Toast.LENGTH_LONG).show();
String startTimeHour,startTimeMinute,endTimeHour,endTimeMinute;
}
public void onStart()
{
Thread t=new Thread(this);
t.start();
}
public void run() {
}
您不会有意将数据从活动发送到服务。活动需要绑定到服务,然后调用绑定器上的方法。看到和 另一种选择是让您的活动发送带有数据的广播意图,并且您的服务可以设置一个广播接收器来监听数据
你想用这项服务干什么?也许有一个更简单或更轻量级的解决方案可以解决您的问题。您不会有意将活动中的数据发送到服务。活动需要绑定到服务,然后调用绑定器上的方法。看到和 另一种选择是让您的活动发送带有数据的广播意图,并且您的服务可以设置一个广播接收器来监听数据
你想用这项服务干什么?也许有一个更简单或更轻的方法来解决您的问题。SampleService是一种服务,您应该使用
startService(i)代码>而不是startActivity(i)代码>附加到意图的数据可以在服务中检索。SampleService是一项服务,您应该使用startService(i)代码>而不是startActivity(i)代码>然后可以在服务中检索附加到意图的数据。“您不会将活动中的数据发送到具有意图的服务。”--是的,您会这样做。这是命令模式,使用startService()
以意图的形式发送命令。引用“启动服务的多个请求会导致对服务的onStartCommand()的多个相应调用。但是,停止服务只需要一个请求(使用stopSelf()或stopService())这与IntentServices
@David Wassler配合得很好。我正在使用该服务检查时间值,并在开始和结束时间之间打开静默模式。确定后,即使您的活动没有运行,您也需要该服务运行。来自@Akhil的解决方案应该有效。演示如何在startService()
中使用的Intent中传递值,以及如何在服务的onStartCommand()
中检索值。@commonware是的,我已更正。我的意思是你不用startActivity()。但很明显,我说得不太对。我可以编辑答案来指出这一点,但我认为这在这一点上是没有意义的。“你不会出于意图将数据从活动发送到服务。”——是的,你会这样做。这是命令模式,使用startService()
以意图的形式发送命令。引用“启动服务的多个请求会导致对服务的onStartCommand()的多个相应调用。但是,停止服务只需要一个请求(使用stopSelf()或stopService())这与IntentServices
@David Wassler配合得很好。我正在使用该服务检查时间值,并在开始和结束时间之间打开静默模式。确定后,即使您的活动没有运行,您也需要该服务运行。来自@Akhil的解决方案应该有效。演示如何在startService()
中使用的Intent中传递值,以及如何在服务的onStartCommand()
中检索值。@commonware是的,我已更正。我的意思是你不用startActivity()。但很明显,我说得不太对。我可以编辑答案来指出这一点,但我认为这一点毫无意义。