所以我有一个应用程序,需要在工作时定期向服务器发送数据包,并且它需要工作大约2周才能完成某项任务。此应用程序大量使用BLE和WiFi进行通信。移动设备进入睡眠模式时发生此问题,发送数据包时速度变慢。我需要一种方法来保持服务对此作业负责,并且在其中运行的线程保持活动并保持通信速度。
答案 0 :(得分:0)
你应该使用服务
创建服务:
public class YourService extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int id) {
// do your jobs here
return super.onStartCommand(intent, flags, id);
}
}
创建一个Application类并启动您的服务:
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
startService(new Intent(this, YourService.class));
}
}
查看更多信息here
其他解决方案
在某些设备中,有一个选项可以添加特定的应用程序列表,并防止在设备休眠时终止该列表,您也可以尝试这样做
答案 1 :(得分:0)
首先,我在这里所说的对于每个版本的Android都可能有所不同,但我会说我该为Android版本做些什么。
转到此设置: 手机关机时关闭网络设备。
OR: 更改此设置: 什么时候睡觉?