2015-09-01 69 views
-1

在Android中,它們使得它看起來像一個IntentService,是在上傳背景中的pdf列表時要走的路。IntentService:如何添加和從工作隊列中刪除意圖?

如何實際訪問工作隊列以便從工作隊列中刪除特定項目?如果上傳該項目由於某種原因失敗,我也想重新添加一個項目到隊列中。

任何想法?

回答

0

不能從隊列中刪除的東西,但你可以標誌事情可略過像這樣的東西:

private static Collection<Object> cancelledThingIds; 

public static void cancelThing(Object thingId){ 
    cancelledThingIds.add(thingId); 
} 

@Override 
protected void onHandleIntent(Intent intent) { 
    if (intent != null) { 
     final Object thing = intent.getExtra(EXTRA_THING); 

     if(cancelledThingIds.contains(thing.getId())) 
      cancelledThingIds.remove(thing); 
     else{ 
      processThing(thing); 
     } 
    } 
} 

項目的重試更加簡單不過 - 只需創建一個新的新意圖您的意願服務並再次啓動。你可以在意圖中包含額外的「嘗試編號」,如果你嘗試了太多次,你可以做其他事情。