android服务在后台运行

标签 android service

我想做一个在后台运行并监控质量的服务。我想到了一个向 Activity 公开 aidl 接口(interface)的单独服务,aidl 将具有一些 Activity 可以调用的与监视器相关的函数。举例说明我的服务应该如何工作,想一想在后台运行并等待来电的 ebuddy 应用程序(我相信这是由服务完成的)。

  1. 这是解决我的问题的正确方法吗?
  2. 我目前能够创建我的服务并使用 aidl 界面,但是当我关闭 Activity 时(当我按下后退按钮时)服务也被破坏了!如何避免这种情况?
  3. 我想像 ebuddy 一样做一个持续通知,怎么做?我试过使用通知管理器但没有成功,我只能在通知部分添加。

最佳答案

好的,所以要发出通知,您只需要做

 mNotification = new Notification( icon, text, when );
 mNotification.flags |= Notification.FLAG_ONGOING_EVENT;

并使用通知管理器进行通知。

如果有人需要在后台运行某些东西(不是后台线程),那么你必须扩展服务类,你必须绑定(bind)到服务并获得一个 stub ,然后你可以调用 stub 通过它的 aidl 公开的方法文件。有关更多信息,您可以查看 SDK 附带的远程服务示例,它位于:/src/com.example.android.apis/app

关于android服务在后台运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3352848/

相关文章:

android - 生成跨平台应用

java - 在接收到 Firebase 消息时在 RecyclerView Adapter 中添加列表项

linux - 如何设计一个需要通过网络发送数据的守护服务?

database - 服务间数据的引用完整性

hibernate - 如何克服Grails Service中的StaleObjectStateException

android - 创建一个在一个方向上滚动的无限 ViewPager

Android Firebase Unity 有错误 : Gradle failed to fetch dependencies and Resolution failed , DllNotFoundException : FirebaseCppApp-5. 2.0

android - 将 Fresco 与 StaggeredGridLayoutManager 结合使用

java - 如何验证来自不同应用程序的广播接收器的 onReceive 方法是否确实被调用?

powershell - 如何使用 PowerShell 提取所有服务的 "Path to executable"