Java Android-连续多次设置墙纸失败,设置为默认

Java Android-连续多次设置墙纸失败,设置为默认,java,android,service,Java,Android,Service,我几乎没有Android应用程序开发的经验。我正在尝试构建一个Android应用程序,每隔几秒钟就会更换一次壁纸。我将要循环浏览的图像存储在InputStreams的ArrayList中,我确信其中的值是正确的。我可以设置一次墙纸,但当我连续多次尝试设置墙纸时,它会将墙纸设置为默认值。不过,它不会抛出异常 当我尝试使用循环多次更改墙纸时,有时它会工作1-3次,然后再继续将其设置为默认值。有时它一次也不起作用。这发生在意图服务的onHandleIntent方法中 以下是我用来更改壁纸的循环:

我几乎没有Android应用程序开发的经验。我正在尝试构建一个Android应用程序,每隔几秒钟就会更换一次壁纸。我将要循环浏览的图像存储在InputStreams的ArrayList中,我确信其中的值是正确的。我可以设置一次墙纸,但当我连续多次尝试设置墙纸时,它会将墙纸设置为默认值。不过,它不会抛出异常

当我尝试使用循环多次更改墙纸时,有时它会工作1-3次,然后再继续将其设置为默认值。有时它一次也不起作用。这发生在意图服务的onHandleIntent方法中

以下是我用来更改壁纸的循环:

    while(images != null && !(images.isEmpty())){
        //if counter is at end of list, reset to 0
        if(counter == streams.size() - 1) counter = 0;

        //set pic as wallpaper
        try {
            wpm.setStream(streams.get(counter));
            counter++;
        }
        catch (IOException io) {
            Log.e(TAG, "IOException: " + io.getMessage());
        }
        try {
            Thread.sleep(4000);
        } catch (InterruptedException e) {
            Log.e(TAG, e.getMessage());
        }
    }
要明确的是,我知道while循环的条件变量不会改变。我只是那样写的,而不是
在if语句中使用它,然后在其中嵌套while(true)循环。我使用的图像大小都不同。

此代码不完整。什么是
图像
?一根绳子?ArrayList?为什么你现在不使用它呢?循环中唯一变化的变量是计数器。所以我不明白你在那里干什么。更具体一点。为什么你需要知道每个变量?我的问题是为什么连续调用set wallper方法可能不起作用。最重要的是您的JAVA代码。所以我们需要这些代码来帮助你。否则,您似乎是在要求某人为您编写一些代码。堆栈溢出是一个问答网站,而不是代码编写服务。请查看这些链接以了解或了解更多信息。