Android服务和本机线程

时间:2018-04-18 14:46:22

标签: java android c++ java-native-interface multicast

鉴于Android的更高版本中对后台服务施加的限制,您如何实现以下目标:

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

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

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

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

  5. 其中一个本机线程负责通过侦听多播数据的套接字监听和处理UDP数据。无论手机/应用程序状态如何,这都必须继续有效(除非应用程序被强行关闭)。

1 个答案:

答案 0 :(得分:0)

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

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