public class MyService extends Service{
private Context context; public MyService(Context context) {
this.context = context;
}

//....to do something
}

解决方案 »

  1.   

    service不会new吧,四大组件都不是人为new的吧。
      

  2.   

    service和activity都是继承ContextWrapper,所以他们本身就是一个Context。如果是想实现在service中更新某个activity的界面,有一种方案是,在service发送广播,然后在activity拦截广播,并进行相应的更新UI。
      

  3.   


    public class MyService extends Service
    {
    MyBinder binder = null;

    @Override
    public IBinder onBind(Intent intent)
    {
    if(binder==null){
    binder = new MyBinder();
    }
    Toast.makeText(getApplicationContext(), "返回bind对象", Toast.LENGTH_SHORT).show();
    return binder;
    }

    class MyBinder extends Binder
    {
    String stringToSend = "绑定service"; public MyService getService()
    {
    return MyService.this;
    }
    }
    Context context;
    public void setContext(Context context){
    this.context=context;
    }
    }绑定时MyService mService= null;
    ServiceConnection conn=new ServiceConnection()
    {

    @Override
    public void onServiceDisconnected(ComponentName name)
    {
    // TODO Auto-generated method stub

    }

    @Override
    public void onServiceConnected(ComponentName name, IBinder service)
    {
    MyBinder binder = (MyBinder) service;
    mService=binder.getService();
    mService.setContext();
    }
    }; 
    };这样应该也可以传,不过配合的是service的绑定