Android并每小时检查新数据

时间:2011-12-31 17:30:10

标签: android

我创建一个news-like app,我想知道是否可以启动应用程序(例如:每1小时1次)来检查新数据是否可用。我想,你知道我在说什么。应用程序应该从不知情的地方开始,检查并finish()

这可能吗?我知道widgets可以做到但正常活动或类似的东西?

请帮忙。 达米安。

1 个答案:

答案 0 :(得分:1)

是的,可以在android中使用“警报服务”,并使用它以特定的时间间隔执行某些工作。

以下是警报服务文档的链接: http://developer.android.com/reference/android/app/AlarmManager.html

以下是使用警报服务的示例代码

    /**
     * Method to start background service for server refresh and other tasks.
    */
    public void startMyService()
    {
        //Start Service service to handle data refresh
        Intent serviceIntent = new Intent(this, MyCommunicationService.class);

        //Schedule additional service calls using alarm manager.
        AlarmManager alarmManager = (AlarmManager) this.getSystemService(ALARM_SERVICE);
        PendingIntent pi = PendingIntent.getService(this, 0, serviceIntent, 0);

        //Retrieve time interval from settings (a good practice to let users set the interval).
        MyPreferenceManager prefManager = new MyPreferenceManager(this);        
        alarmManager.cancel(pi);
        alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), prefManager.getDataRefreshTime()*1000  , pi);

    }

请注意,我们乘以1000,因为setRepeating()方法的参数以毫秒为单位。