我阅读了android开发者指南。我对android applcations有很多了解。但现在我真的想开发一个应用程序。我脑子里有一些基本的问题。我很乐意从专家那里得到答案。
在我的应用程序中,我需要在从手机中取出SIM卡并放回SIM卡时检查通知。要检查哪一个是好主意?它是我应该在我的应用程序中实现的计时器,还是应该创建一个可以响应SIM卡删除的服务。
如果我按照常规时间间隔执行定时器来执行某项工作,如果所有活动都在后台,定时器是否仍然可以运行?
答案 0 :(得分:1)
在我看到的所有移除SIM卡的手机上都必须关闭手机,因为电池通常会阻塞SIM卡插槽。所以基本上你的应用程序无法通知SIM卡删除,因为手机已关闭。您可以做的是在电话重启后通过BroadcastReceiver收听BOOT_COMPLETED来启动您的服务:请参阅this tutorial。然后,服务会通过TelephonyManager.getSimState()
检查SIM是否可用。
不一定。 Android操作系统决定何时终止并从内存中删除非活动应用程序。无法保证您的非活动(例如在后台)应用不会被删除。要保证计划执行,请查看AlarmManager
。
答案 1 :(得分:0)
对于第一种情况,您可能需要BroadCast Reciever
(当移除SIM卡时会发送提供的广播。
对于第二种情况Alarm Manager
是比计时器更好的选择。