2

我正在构建一个壁纸应用程序。我有一个设置壁纸的按钮。我想做的是检查壁纸是否已下载,如果是,请设置壁纸 - 如果没有,请下载并设置壁纸。

我检查是否存在带有 ID(例如26748.jpg)的文件,如果是,我成功设置壁纸,如果不存在,我下载它 - 但我无法设置它。

我有一个 BroadcastReceiver 设置:

 <receiver android:name=".SinglePhotoActivity$CheckDownloadComplete">
        <intent-filter>
            <action android:name="android.intent.action.DOWNLOAD_COMPLETE"/>
        </intent-filter>
    </receiver>

显示一个简单的保存消息:

 public static class CheckDownloadComplete extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context, "Saved!", Toast.LENGTH_SHORT).show();
    }

}

问题是我有两种设置壁纸的方法:一种是已经下载了壁纸,另一种是没有下载。我做了一些研究,发现这种类型的广播接收器实际上不能包含任何意图附加内容。我唯一能做的就是在我的 DownloadManager 的请求中设置一个描述,然后在onReceive.

所以,如果图像已经下载,我想显示一个简单的 Toast。如果没有,请下载它,然后在下载完成后在OnReceive中运行我的setWallpaper代码。

有没有更熟练的方法来做到这一点?

4

0 回答 0