【问题标题】:how to start service from fragments如何从片段开始服务
【发布时间】:2012-10-22 08:14:12
【问题描述】:

我想从列表视图项的片段开始服务。我正在尝试通过以下方式调用服务:

startService(new Intent(getActivity(),myPlayService.class));

但它根本不起作用。我如何从片段中调用我的服务?有没有其他方式启动服务?

【问题讨论】:

  • 什么不起作用?更清楚?不开始了吗?它会崩溃吗?如果您在活动中启动它是否有效?
  • 它在 startservice() 上显示红线;当您将鼠标悬停在它上面时,它会显示诸如创建方法 startservice() 之类的选项...我如何从片段中调用服务?

标签: android android-intent android-service


【解决方案1】:

替换

startService(new Intent(getActivity(),myPlayService.class));

getActivity().startService(new Intent(getActivity(),myPlayService.class));

【讨论】:

  • 但是如果他不使用getActivity(),它甚至不会编译
  • @IgorGanapolsky,这就是原始帖子所说的。他们在问如何编译。
【解决方案2】:

从片段使用开始服务

Java

requireActivity().startService(new Intent(getContext(), ServiceName.class));

科特林

requireActivity().startService(Intent(context, ServiceName::class.java)

【讨论】:

    【解决方案3】:

    确保在 manifest.xml 中添加服务标签

       <service android:name=".ServieName"/>
    

    如果服务标签未正确添加到清单中,服务将不会启动。

    欲了解更多信息refer android documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2013-03-06
      相关资源
      最近更新 更多