공식 API를 사용하여 Google 드라이브에 업로드하는 앱을 작성했지만 완벽하게 작동합니다. 그러나 어쨌든 업로드를 취소 할 수 없습니다. 나는 ASyncTask에서 실행하고 있는데, 지금까지는 드라이브 객체, 파일 경로, 토큰 및 몇 가지 다른 변수를 만들려고 시도하지 않았습니다. 나는 또한 토큰을 무효화하려고 시도했으나 캐시에서 제거하고 서버 측을 실제로 무효화하지는 않는다. ASyncTask에서 취소를 호출했지만 일단 업로드가 시작되면 취소 된 경우 중지 할 방법이없는 것으로 보입니다.Google 드라이브 업로드를 취소 할 수 있습니까?
내 문제는 사용자가 100MB 파일을 업로드하기 시작하면 다른 사람이 취소 할 수있는 방법이 없다는 것입니다. 다른 방법으로는 인터넷 연결을 켜고 끄는 것이 실용적이지 않습니다. 내 업로드 코드 :
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();
물론 업로드를 취소하는 방법이 있습니까?
스레드를 호출하려고했습니다. Interrupt() 메소드를 사용하지만 업로드가 계속됩니다. 멀티 스레드를 직접 구현하면 무엇을 의미합니까? – pommedeterresautee