系统壁纸应该通过服务改变

时间:2011-10-28 07:12:33

标签: android service broadcastreceiver wallpaper

我的应用程序需要一个服务,在特定的时间间隔内更改系统壁纸我该如何实现呢,请帮忙???

2 个答案:

答案 0 :(得分:2)

创建服务类

class WallpaperService extends IntentService {

    @Override
    protected void onHandleIntent(Intent intent) {
        Timer progressTimer = new Timer();
        timeTask = new ProgressTimerTask();
        progressTimer.scheduleAtFixedRate(timeTask, 0, 1000);
    }

    private class ProgressTimerTask extends TimerTask {
        @Override
        public void run() {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    int currenMinutes = 0; // set your time here
                    changeWallpapers(currentMinutes);
                }
            });
        }
    }

    private void changeWallpapers(int minutes) {
        if(minutes == 1)
            layout.setBackGround(Color.RED);
        if(minutes == 2)
            layout.setBackGround(Color.BLUE);
    }
}

}

然后在您想要的地方调用您的服务意图

答案 1 :(得分:-1)

好吧,我已经实现了这个功能。我在系统中注册一个警报并将其连接到BroadcastReceiver。触发BroadcastReceiver时,在OnReceive()方法中,您可以为系统设置壁纸。