我有一个活动可以获取一些用户输入并将这些信息作为额外的信息放入启动(创建)服务的意图中。
然后我希望其他应用程序能够使用该服务(绑定到它)。
但是,我不希望这些应用程序能够启动服务,因为如前所述,我需要一些用户输入才能正确启动它。因此,如果一个应用程序想要使用该服务,它只能在它正在运行时绑定到它。如果不是,应用程序只能在获得用户输入后启动启动服务的 Activity。
据我了解,将清单中的 android:exported 设置为 true 允许其他应用程序既绑定又启动服务。
有什么办法可以做我需要的吗?
另一方面:服务中的 onCreate 是否有任何原因没有得到意图?我想在 onCreate 中获得额外的东西,因为我只在首次创建服务时才需要它。我目前正在通过将其放入 onStartCommand 并在第二次调用 onStartCommand 时立即返回来规避此问题,但这似乎是不必要的步骤。