关于活动,服务和应用的一些基本问题

时间:2011-09-10 09:41:28

标签: android service android-activity

我阅读了android开发者指南。我对android applcations有很多了解。但现在我真的想开发一个应用程序。我脑子里有一些基本的问题。我很乐意从专家那里得到答案。

  1. 在我的应用程序中,我需要在从手机中取出SIM卡并放回SIM卡时检查通知。要检查哪一个是好主意?它是我应该在我的应用程序中实现的计时器,还是应该创建一个可以响应SIM卡删除的服务。

  2. 如果我按照常规时间间隔执行定时器来执行某项工作,如果所有活动都在后台,定时器是否仍然可以运行?

2 个答案:

答案 0 :(得分:1)

  1. 在我看到的所有移除SIM卡的手机上都必须关闭手机,因为电池通常会阻塞SIM卡插槽。所以基本上你的应用程序无法通知SIM卡删除,因为手机已关闭。您可以做的是在电话重启后通过BroadcastReceiver收听BOOT_COMPLETED来启动您的服务:请参阅this tutorial。然后,服务会通过TelephonyManager.getSimState()检查SIM是否可用。

  2. 不一定。 Android操作系统决定何时终止并从内存中删除非活动应用程序。无法保证您的非活动(例如在后台)应用不会被删除。要保证计划执行,请查看AlarmManager

答案 1 :(得分:0)

对于第一种情况,您可能需要BroadCast Reciever(当移除SIM卡时会发送提供的广播。 对于第二种情况Alarm Manager是比计时器更好的选择。