我有一个 VOIP 应用程序,我希望它始终在后台运行,以使其响应来电。通过阅读一些论坛,我发现在后台运行该应用程序会导致电池耗尽。
为了在后台运行应用程序,我应该遵循哪些好的做法?
我有一个 VOIP 应用程序,我希望它始终在后台运行,以使其响应来电。通过阅读一些论坛,我发现在后台运行该应用程序会导致电池耗尽。
为了在后台运行应用程序,我应该遵循哪些好的做法?
通过阅读一些论坛,我发现在后台运行该应用程序会导致电池耗尽。
更重要的是,一直运行某些东西会增加您耗尽电池的机会。
为了在后台运行应用程序,我应该遵循哪些好的做法?
作为一个 VOIP 应用程序已经违反了一些“良好做法”。例如,您将需要(尝试)拥有一个永久运行的服务,以维持您与 VOIP 服务器的开放套接字连接。而且,根据您的网络设置方式,您可能需要尝试维护一个WifiLock
,这会耗尽电池电量。
一般而言,您只想确保您的服务尽可能少地执行,除非正在进行呼叫。例如,虽然您可能需要定期向 VOIP 服务器发送数据包以保持连接处于活动状态,但请尽量不经常这样做。
有许多使用推送通知功能的智能 VoIP 应用程序。这不会消耗太多电池,但您必须拥有一致的互联网连接。Axvoice 就是这样一种选择。查看他们的应用程序:http ://www.axvoice.com/support/mobile-voip-applications.html
它们也将像其他应用程序一样在后台运行,但 Axvoice 和其他应用程序之间的区别在于您可以减少电池消耗,因为它不会一直与实时服务器通信。请看看这个: http: //www.wikihow.com/Save-Battery-Power-on-an-Android
使用广播接收器。它记录在这里
http://developer.android.com/reference/android/content/BroadcastReceiver.html
当指定的广播通过系统广播时,BroadcastReciever 将执行它的代码。换句话说,当您接到电话时,系统会发出一个广播,说明有来电。如果让您的接收器接收该广播,它就会做出反应。可以把它想象成 Android 系统正在广播许多不同的广播电台,而 BroadcastReciever 就像收音机一样。您可以将其设置为接收您想要的任何广播并在它执行时执行一些代码。