我的应用程序使用一个需要互联网连接才能在后台工作的服务。然而,当Android进入睡眠状态时,我的服务无法再访问互联网。我知道wakelock可以解决这个问题,但它似乎对于仅保持网络连接来说过于繁琐。是否有其他方法可以实现这一点?
像WhatsApp这样的应用程序是如何处理这个问题的?
像WhatsApp这样的应用程序是如何处理这个问题的?
namespace blablabla
{
[BroadcastReceiver]
public class blablabla : BroadcastReceiver
{
public override void OnReceive(Context context, Intent intent)
{
PowerManager pm = (PowerManager)Android.App.Application.Context.GetSystemService(Context.PowerService);
PowerManager.WakeLock wakeLock = pm.NewWakeLock(WakeLockFlags.Full,
"BackgroundReceiver");
wakeLock.Acquire();
//var context = this.ApplicationContext;
WifiManager wifiManager =
(WifiManager)context.GetSystemService("wifi");
WifiLock mWifiLock =
wifiManager.CreateWifiLock(Android.Net.WifiMode.Full, "WifiLock");
mWifiLock.Acquire();
//you code
mWifiLock.Release();
wakeLock.Release();
}}}
为其他寻求答案的人提供帮助