Android 系统交互与应用启动全解析
在 Android 开发中,与系统进行交互以及启动其他应用是常见的需求。下面将详细介绍相关的技术和操作方法。
1. 活动与服务绑定
当活动可见时,它会绑定到 TrackerService 。这借助 ServiceConnection 接口实现,该接口在绑定和解绑操作完成时提供回调方法。绑定服务后,就可以直接调用服务公开的所有公共方法。
不过,仅靠绑定无法让服务长期运行。若仅通过 Binder 接口访问服务,服务会随活动的生命周期自动创建和销毁。为使服务在活动不在内存中时仍能持续运行,需在绑定服务前通过 startService() 显式启动服务。在 onResume() 中启动已运行的服务也没问题。
在 onPause() 中,示例会检查用户是否激活了跟踪功能,若未激活则先停止服务,避免服务在无实际工作时一直驻留在内存中。
运行示例并按下“开始跟踪”按钮,会启动持久化服务和 LocationManager 。用户此时可离开应用,服务会继续运行并记录 GPS 传来的位置更新。返回应用时,能看到服务仍在运行,并显示当前存储的位置点数量。按下“停止跟踪”会结束进程,用户再次离开活动时服务会停止。
2. 启动其他应用
当应用需要某个特定功能,而设备上已有其他应用能实现该功能时,可使用隐式 Intent 来启动其他应用。
超级会员免费看
订阅专栏 解锁全文
954

被折叠的 条评论
为什么被折叠?



