Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将活动中的数据发送到Service_Android_Service_Android Intent - Fatal编程技术网

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()。但很明显,我说得不太对。我可以编辑答案来指出这一点,但我认为这一点毫无意义。