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

标签 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);
    }
}

然后在你想要的地方调用你的服务Intent

关于android - 系统壁纸应该通过服务改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7926194/

相关文章:

android - AlertDialog.show 在服务中被静默忽略

java安装tomcat作为服务

java - Android Oreo+ 中的 AlarmManager 和 BroadcastReceiver

broadcastreceiver - Android 7 BroadcastReceiver onReceive intent.getExtras 丢失数据

java - 二维球碰撞问题 : no conservation of energy

java - inputStream null 延迟 Kotlin

android - 在 Material Design 中呈现的 Android Lollipop 半透明渐变状态栏

android - 当应用程序在后台时如何更改 Activity

android - 如何在安装和卸载应用程序期间接收广播接收器?

android - 关于Android studio中gms-play-services appindexing更新到10.2.0