如何在android中将字符串从片段传递到服务

如何在android中将字符串从片段传递到服务,android,android-intent,android-service,Android,Android Intent,Android Service,我想将字符串从片段传递到服务。我尝试使用setvalue和bind,但它可以用于活动,而不是startservice,对吗? 什么是ServiceConnection?通过使用ServiceConnection可以传递字符串吗? 这是启动服务的片段代码 **Solved ** 我已经改变了我的代码,这是完美的工作 Intent intent = new Intent(getActivity(), myPlayService.class); Bundle b = new

我想将字符串从片段传递到服务。我尝试使用setvalue和bind,但它可以用于活动,而不是startservice,对吗? 什么是ServiceConnection?通过使用ServiceConnection可以传递字符串吗? 这是启动服务的片段代码

 **Solved **
我已经改变了我的代码,这是完美的工作

Intent intent = new Intent(getActivity(), myPlayService.class);
            Bundle b = new Bundle(); 
            b.putString("link", "http://94.23.154/bbc");  
            intent.putExtras(b);
            getActivity().startService(intent);
我在服役时

public int onStartCommand(Intent intent, int flags, int startId) {
    // TODO Auto-generated method stub
    if(intent != null){
        Bundle bundle = intent.getExtras();
        link = bundle.getString("link");
           }

您可以通过Intent并使用putExtra方法将字符串从片段传递到服务:

在服务中,您将在onStartCommand中检索字符串:


您可以通过Intent并使用putExtra方法将字符串从片段传递到服务:

在服务中,您将在onStartCommand中检索字符串:

用片段的附加值编写代码

@Override
    public void onAttach(Context context) {
        super.onAttach(context);
        Intent i = new Intent(getActivity(), ServiceName.class);
        i.putExtra("key",value);
        getActivity().startService(i);
  }
用片段的附加值编写代码

@Override
    public void onAttach(Context context) {
        super.onAttach(context);
        Intent i = new Intent(getActivity(), ServiceName.class);
        i.putExtra("key",value);
        getActivity().startService(i);
  }

如果你想让你的问题完全可以理解,请在你的代码中添加一些格式和适当的缩进。我解决了我的问题。。谢谢你们给我时间。对不起,我的英语很差,编辑也很糟糕。请详细说明。为了让你的问题完全可以理解,请在代码中添加一些格式和适当的缩进。我解决了我的问题。。谢谢你们给我时间。对我糟糕的英语和编辑很抱歉。是的,我已经实施了相同的解决方案。非常感谢。是的,我已经实施了相同的解决方案。非常感谢。
@Override
    public void onAttach(Context context) {
        super.onAttach(context);
        Intent i = new Intent(getActivity(), ServiceName.class);
        i.putExtra("key",value);
        getActivity().startService(i);
  }