gpt4 book ai didi

java - Android 后台服务

转载 作者:行者123 更新时间:2023-12-02 00:29:09 26 4
gpt4 key购买 nike

我已经创建了一个网络服务,我想使用 Android 手机作为终端。手机必须时不时地检查网络服务上的消息。

是否可以创建一个“后台任务”或服务来时不时地检查特定的网络服务?这不是电子邮件的工作方式吗?应该是可以的。如果没有,我如何创建一个到达 Android 手机的“推送”服务?

我创建了一个简单的服务,但它只运行几分钟,然后“停止”与服务器通信。看起来好像是在屏幕锁定时发生的。

我有一门类(class),可以扩展服务。我重写了以下方法。

@Override
public void onStart(Intent intent, int startId) {
Toast.makeText(this, "Service started", Toast.LENGTH_LONG).show();
Log.d(_TAG, "onStart");
timer.scheduleAtFixedRate( new TimerTask() {
public void run() {
Log.d(_TAG, "running task!! Hello :)");
try {
sendSMS();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, 0, 60000);
}

就像魅力一样,直到显示屏被锁定为止。

手机是 HTC Desire S

我对 Android 开发还很陌生,不知道其框架。

问候..

最佳答案

正如其他发帖者所指出的那样,您的应用程序通过基于推送的方法接收 Intent 会更理想,因此您不会浪费资源不断轮询。

但是,如果您需要以指定的时间间隔轮询和/或执行某些代码,那么 Alarm Manager 就是您想要的。您将您的应用程序注册为在特定时间点调用,然后您启动服务以轮询数据。

http://developer.android.com/reference/android/app/AlarmManager.html

关于java - Android 后台服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9473791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com