Android 服务和原生线程



鉴于更高版本的Android中对后台服务施加的限制,您如何完成以下任务:

应用程序的 JAVA 后台
  1. 服务和 JAVA 后台服务通过 JNI 启动的本机C++线程将继续运行,无论手机的状态(屏幕打开或关闭)如何,也无论应用程序的状态(活动生命周期)如何。如果活动已被销毁,则后台服务必须继续运行。

  2. 如果用户从任务列表(菜单按钮)中清除应用程序,则后台服务将继续运行,C++线程也会继续运行。

  3. 如果用户按下菜单后退按钮,后台服务将继续运行,C++线程也会继续运行。

  4. 如果用户导航到操作系统设置(应用程序)并为应用程序选择"强制关闭/停止",则应用程序和后台服务将停止/销毁。

其中一个本机线程负责通过侦听多播数据的套接字侦听和处理 UDP 数据。无论手机/应用状态如何,这都必须继续工作,这一点至关重要(除非强制关闭应用)。

不确定我是否正确理解了您的问题,但是您提到的所有这些要点都可以通过使用Android服务组件来完成,如下所示: https://developer.android.com/guide/components/services.html

我前段时间用过这个,它只是你需要的这些点。 如果我错了,请纠正我。

最新更新