您是否需要为服务实施AIDL才能在应用程序生命周期之外运行?

时间:2010-11-09 18:44:17

标签: android android-service aidl

我有一项服务会发送带有定时任务的通知。我需要这个服务在应用程序的生命周期之外运行,但我只需要在应用程序的生命周期内访问服务功能。是本地服务还是我需要实施AIDL? 感谢。

2 个答案:

答案 0 :(得分:2)

  

我有一项服务会发送带有定时任务的通知。

通过这个,我希望你的意思是AlarmManagerIntentService,这样你的服务只在最短的时间内存在,足以做一些工作,提高{{1离开了。不要编写试图永久居住的服务,因为这是不可能的 - 用户或操作系统将终止您的服务。

  

本地服务是否足够,还是需要实施AIDL?

通过提出这个问题,我认为您有更多基本问题,例如不使用NotificationAlarmManager进行定期工作。您的raise-a - IntentService - 定期服务不应该运行,因此您不应该尝试访问它的“服务功能”。

答案 1 :(得分:0)

你没有“实现AIDL” - AIDL(android接口定义LANGUAGE)是一种推荐但非强制性的便利/ abstration机制,用于生成实现Binder RPC接口所需的代码,这是推荐但不仅仅是沟通的方式提供服务。