gpt4 book ai didi

android - 是否可以在库 list 中定义服务而不在主机 list 中定义它?

转载 作者:行者123 更新时间:2023-11-29 02:04:59 26 4
gpt4 key购买 nike

我有一个包含 Android Application 类子类的库。子类包含启动服务的方法(也包含在库项目中)。

当我在主机应用程序中包含该库时, Activity 管理器提示它无法启动服务 Intent (未找到)。

代码结构为:

库 list :

<service name="com.my.project.MyService" />

库中的应用程序子类:

Intent intent = new Intent(this, MyService.class);
startService(intent);

我可以通过在主机应用程序 list 中再次定义服务来解决这个问题;但是,我不想将此要求强加给使用该库的开发人员。

我的问题是,我能否避免在主机 list 中引用库服务的要求?

最佳答案

值得一提的是,虽然它不会影响您当前的实现(如果我没看错的话),但应该注意将哪个 Context 传递给 Intent 构造函数。

例如,如果您决定将您的Service 移动到单独的 APK,则该服务将不会在客户端应用程序 Context 中找到。

然后您可以使用替代的 Intent 构造函数:

Intent intent = new Intent("com.my.service.project", "com.my.service.project.MyService");

或者将 BroadcastReceiver 添加到 com.my.service.project 项目,然后由 sendBroadcast 从客户端应用程序触发startService 的。

关于android - 是否可以在库 list 中定义服务而不在主机 list 中定义它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10498373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com