嗯,我試過在發佈這個問題之前到處尋找。 我正在研究實施Retrofit以處理所有服務器交互的應用程序。 everthing工作正常,但當我在android M(設備:huawei P9/P9 Lite)上測試應用程序時 只有當設備連接WIFI時纔會調用翻新的回調。 具體來說:Android M + RetroFit 2
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Constants.SECONDARY_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
RestaurantApi restaurantApi = retrofit.create(RestaurantApi.class);
Call<ServerResponse> call = restaurantApi.deleteFromFavoris(preferences.getInt("id", 0), getArguments().getInt("idResto"));
//asynchronous bestOfCall
call.enqueue(BestOfFragment.this);
,你可以看到這是一個簡單的通話沒有什麼花哨。但由於某種原因,當手機使用移動數據時,從不會調用回調(在Android監視器上沒有消息或例外)。和he're回調
@Override
public void onResponse(Call<ServerResponse> call, Response<ServerResponse> response) {
if (response.code() == 200) {
Toast.makeText(getActivity().getApplicationContext(), "Supprimé des favoris", Toast.LENGTH_SHORT).show();
getArguments().putBoolean("isFavoris", false);
}
}
@Override
public void onFailure(Call<ServerResponse> call, Throwable t) {
Toast.makeText(getActivity().getApplicationContext(), "Désolé une erreur inattendue est survenue !!", Toast.LENGTH_SHORT).show();
}
你能否提供引發的異常?或錯誤代碼... – Jaythaking
您是否在清單中設置了網絡權限?此外,您的設備是否禁用了移動設備的數據?請注意,您的設備是否禁用了數據保護功能? –
應用程序內的其他每個調用都可以正常工作。 權限在清單中聲明。 唯一在這種情況下,回調從來沒有被稱爲(我甚至試圖降低超時時間)的東西沒有什麼奇怪的事情。我正在使用一個片段尋呼機適配器與片段中的片段我截獲一個點擊事件開始這個呼叫 該調用被執行,但回調從未觸發 –