在这种情况下如何提供服务?

时间:2011-05-04 11:20:18

标签: android service sip

所以我有一个听取来电的课程,我想为我的所有应用程序提供服务,即使我不在应用程序的UI中也能接收电话。 如何触发此类(广播接收器)。我使用“sendBroadcast”并有一个FC。

sendBroadcast(new Intent(context, IncomingCallReceiver.class));

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

在您的情况下,我会使用以下方法:

  • 创建Service并从Activity启动它(您提到您有多个应用程序,因此首先启动它们也可以启动服务)。
  • 确保服务无法永久运行,因此请在不再需要服务时停止服务(最后一个应用程序已完成)。即使没有活动,服务也可以通过致电stopSelf()来终止自我。请注意,系统可能会终止您的服务并阻止其永久工作。
  • 在Service中创建扩展BroadcastReceiver的私有类,并使用服务函数registerReceiver()为要监视的Intent注册它。
  • 一旦收到想要的Intent,就可以从BroadcastReceiver onReceive()中调用一些服务功能。例如,您可以使用应用程序识别的一些自定义Intent来发送广播()。
  • 当服务停止时,请确保使用服务功能unregisterReceiver()取消注册BroadcastReceiver扩展。

<强>更新