如何确保从特定活动调用服务

时间:2013-02-16 12:28:32

标签: android android-service

在android中如何确保应用程序中的service只能通过应用程序内的activity进行调用。

(换句话说,我想限制服务只能通过某个活动播放,甚至不能通过该应用中的其他活动播放)

我尝试过研究Intent-filters,但有点困惑。

如果有可能的话,有人可以建议吗?

谢谢

2 个答案:

答案 0 :(得分:0)

使用Context。startService(意图服务)从您的活动中启动服务。 尽管名称不仅仅是启动服务。如果服务已经运行,它只是调用它。

从服务角度来看,服务将调用其onStartCommand(...)方法。

只有同一个应用程序中的活动才能以这种方式调用/启动服务。

答案 1 :(得分:0)

如果您在AndroidManifest.xml的exported="false"元素中设置<service .. />,则无法通过您自己应用以外的活动调用该服务。

我知道无法限制对应用内任何特定活动的访问,但这似乎不太紧迫。据说你可以信任自己的代码吗?