【发布时间】:2011-10-28 07:12:33
【问题描述】:
我的应用程序需要一个在特定时间间隔内更改系统壁纸的服务我应该如何实现这个,请帮忙???
【问题讨论】:
-
好问题,这对我来说也很有趣
标签: android service broadcastreceiver wallpaper
我的应用程序需要一个在特定时间间隔内更改系统壁纸的服务我应该如何实现这个,请帮忙???
【问题讨论】:
标签: android service broadcastreceiver wallpaper
创建你的服务类
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);
}
}
}
然后在你想要的地方调用你的服务意图
【讨论】:
嗯,我已经实现了这个功能。我在系统中注册了一个警报并将其连接到广播接收器。当BroadcastReceiver被触发时,在OnReceive()方法中可以为系统设置壁纸。
【讨论】: