当前位置: 首页 > 知识库问答 >
问题:

在android中如何将意图从片段类传递到服务类

唐兴贤
2023-03-14

我是一个新的android和我正在学习的服务在android中,我已经创建了一个片段,其中我有一个按钮。在那个按钮点击我需要显示吐司一个消息。

这是我的服务班-

public class BackgroundSoundService extends Service {
private static final String TAG = null;



@Override
public void onCreate() {
    super.onCreate();
    Log.d("tagg", "onCreate: inside service");
    Toast.makeText(getApplication(), "This is my Toast message!", Toast.LENGTH_LONG).show();

}

@Nullable
@Override
public IBinder onBind(Intent intent) {
    return null;
}
}

当我的片段类中的按钮单击时,我需要吐司消息。这是我的片段类-

public class ConnectFragment extends Fragment {

Button service_btn;

public ConnectFragment() {
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.fragment_connect, container, false);

    service_btn = (Button) rootView.findViewById(R.id.service_button);
    service_btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //start_service();
            Intent svc = new Intent(getActivity(), BackgroundSoundService.class);
            try {
                startActivity(svc);

            } catch (Exception e) {
                Log.d("tagg", "start_service:excception " + e);
            }

        }
    });


    return rootView;
}

public void start_service() {
    Intent svc = new Intent(getActivity(), BackgroundSoundService.class);




}

}

现在我得到了一个例外

start_service:excception android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.arjunh.navigationdrawer/com.example.arjunh.navigationdrawer.BackgroundSoundService}; have you declared this activity in your AndroidManifest.xml?

共有1个答案

赵镜
2023-03-14

在AndroidManifest.xml文件中添加服务

 <service android:name=".BackgroundSoundService">

然后像这样从片段开始服务

getContext().startService(new Intent(getContext(),BackgroundSoundService.class));

我希望它对你有帮助。

 类似资料:
  • 我有两个活动,在活动1中有碎片,在活动2中有碎片 fragment1和fragment2扩展自FragmentActivity1,activity2扩展自AppCompatActivity 我想将字符串值从fragment1发送到fragment2,而不获取空值。我希望你能理解这个问题。谢谢

  • 问题内容: 我正在尝试从Android设备将文件上传到php服务器。有相同问题的话题,但他使用的是不同的方法。我的Android辅助代码运行正常,并且未显示任何错误消息,但服务器未收到任何文件。这是我的示例代码,我在网上找到了。 和我的PHP服务器端代码如下 Apache正在运行。当我运行服务器时,出现此错误消息。上传文件时出错,请重试!我已经在eclipse中检查了日志数据,我认为是套接字问题,

  • 我试图理解当onStartCommand返回START\u REDELIVER\u意图时,服务将如何运行。 如果我们假设从一个活动中调用该服务几次。在onStartCommand中,我们收到意向和startID。例如,已收到以下信息: 1)如果我调用停止本身(id=3),服务被杀死,是否会重新传递带有starID 1、2、4和5的意图?还是只有id高的意图,即4和5被重新传递? 2)如果我打电话给

  • 我目前正在一个单一的活动应用程序中工作,该应用程序为每个屏幕使用片段。我也在使用MVP设计模式。 上下文 我有一个片段(Fragment-a),其中有一个项目列表。此片段处理每个项的操作。因为它可以访问演示者 我想要什么? 如何将Frainsion-A作为侦听器传递给DialogFraank(Frainsion-B),以便我可以从DialogFraank调用操作?

  • 我有服务课。我需要通过Facebook、whatsapp、gmail、yahoo等分享我的一些细节。但当我尝试分享时,我发现了一个错误 android.util.AndroidRuntimeExcture:从活动上下文外部调用starActive()需要FLAG_ACTIVITY_NEW_TASK标志。这真的是你想要的吗? 下面是我的代码 请给我一个解决方案

  • 我有一个回收器适配器,我在其中为适配器中的项添加了。代码如下: 这里是片段代码,它处理从适配器到片段的值获取。 我正在尝试将和具有该的值从适配器传递到片段。但我的代码不行。我该怎么修好它?