小编kir*_*off的帖子

在Android服务中安排的AsynTask只执行一次

我正在尝试创建简单的Android程序,每30*1000毫秒拉一次Web服务器.我在我的应用程序中有专门的服务 - PollerService

Android Manifest.xml:
<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".PullServerAndListenActivivty"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <service android:name=".PollerService" />
</application>
Run Code Online (Sandbox Code Playgroud)

该类创建计划执行程序并注册其计时器任务以开始调用Engine,以便拉出服务器.

PollerService.java:

public class PollerService extends Service {
public static final int INTERVAL = 20*1000;
private ScheduledExecutorService executor;

public void onCreate() {
    super.onCreate();
    executor = Executors.newSingleThreadScheduledExecutor();
    executor.scheduleAtFixedRate(new TimerTask() {
        public void run() {
            Engine.tick ();             
        }
    }, 0, INTERVAL, TimeUnit.MILLISECONDS);
}

public void onDestroy() {
    executor.shutdownNow();
}

public IBinder onBind(Intent arg0) {
    return null;
};
} …
Run Code Online (Sandbox Code Playgroud)

java multithreading android httpclient android-asynctask

1
推荐指数
1
解决办法
2342
查看次数