Jon*_*lis 29
服务是一种应用程序组件,表示应用程序希望在不与用户交互的情况下执行较长时间运行的操作,或者为其他应用程序提供使用的功能.
值得注意的是非常重要
与其他应用程序对象一样,该服务在其托管进程的主线程中运行.这意味着,如果您的服务要进行任何CPU密集型(例如MP3播放)或阻止(例如网络)操作,它应该生成自己的线程来执行该工作.
这与最好被理解为用户直接看到并与之交互的内容(UI)形成对比.
如上所述,服务可用于长时间运行的操作,即使您没有前台活动也会继续运行,但如果处于"后台"状态,它们可能会被Android的生命周期终止.如果您需要的服务继续运行的单一实例,而不被杀害并重新启动,我会建议将startForeground(INT ID,通知通知)在你的服务的onCreate
方法和stopForeground(布尔removeNotification)在你的服务的onDestroy
方法.
例如,我有一个应用程序,使用一个foreground Service
记录加速度计数据整夜,而Android设备是在用户的身体旁边.虽然它不需要处于活动状态,但我也有一个Activity
广播Intent
到BroadcastReceiver
内部,Service
它告诉Service
它它还应该Intent
用加速度计数据作为附加内容广播到BroadcastReceiver
内部Activity
.
代码: SleepActivity SleepAccelerometerService
祝您好运,如果您需要更多信息,请告诉我!