我正试图通过意图将活动数据发送到服务。
这是我的活动类
中的代码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() {
}
答案 0 :(得分:4)
SampleService是一个服务,您应该使用startService(i);
而不是startActivity(i);
然后可以在服务中检索附加到意图的数据。
答案 1 :(得分:2)
您不会将数据从活动发送到具有意图的服务。 Activity需要绑定到服务,然后调用绑定器上的方法。请参阅http://developer.android.com/guide/topics/fundamentals/services.html和http://developer.android.com/reference/android/app/Service.html
另一个选择是让你的活动发送一个广播意图与数据,你的服务可以设置一个BroadcastReceiver来听取它。
你想用什么服务?也许你的问题有一个更轻松或更轻量级的解决方案。