我正在構建一個壁紙應用程序。 我有一個設置壁紙的按鈕。 我想要做的是檢查壁紙是否下載,如果是設置壁紙 - 如果沒有,下載並設置壁紙。在WallpaperManager的廣播接收器上額外的意圖
我檢查是否存在帶有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
中的描述。
所以,如果圖像已經下載,我想顯示一個簡單的吐司。如果沒有,然後下載它,然後在OnReceive下載完成後運行我的設置壁紙的代碼。
還有沒有更好的做法呢?
你從哪裏讀到你不能在這個廣播中有一個額外的啓示者? –