Napisałem aplikację, używając oficjalnego interfejsu API do przesłania na Dysk Google, działa to idealnie. Jednak nie mogę znaleźć ani anulować przesyłania. Używam go w ASyncTask, do tej pory próbowałem uczynić obiekt napędu, ścieżkę pliku, token i kilka innych zmiennych nie ma. Próbowałem również unieważnić token, jednak wygląda na to, że usuwa go tylko z pamięci podręcznej i nie powoduje jego unieważnienia. Zadzwoniłem anulować na ASyncTask jednak jeśli zostanie anulowane po rozpoczęciu przesyłania wydaje się, że nie ma sposobu, aby to zatrzymać.Czy można anulować przesyłanie z Dysku Google?
Mój problem polega na tym, że jeśli użytkownik zaczyna przesyłać plik o rozmiarze 100 MB, nie ma możliwości anulowania go, a następnie włączania i wyłączania połączenia internetowego, co nie jest praktyczne. To jest mój kod do przesłania:
java.io.File jFile = new java.io.File(path); //Does not get file just info
File body = setBody(jFile, mimeType);
try
{
java.io.File mediaFile = new java.io.File(path);
InputStreamContent mediaContent =
new InputStreamContent(mimeType,
new BufferedInputStream(new FileInputStream(mediaFile)));
mediaContent.setLength(mediaFile.length());
request = drive.files().insert(body, mediaContent);
request.getMediaHttpUploader().setProgressListener(new CustomProgressListener());
File file = request.execute();
Z pewnością istnieje sposób na anulowanie przesyłania?
Próbowałem zadzwonić wątek. Metoda przerwania(), ale mimo to przesyłanie jest kontynuowane. Co masz na myśli mówiąc, że sam wykonujesz wiele wątków? – pommedeterresautee