2012-05-13 3 views
3

메모를 공유 할 ACTION_SEND 공유 인 텐트를 구현하는 간단한 메모장 앱을 만들었습니다.Google 드라이브에 텍스트/일반 데이터를 공유하려는 Android

내 데이터의 MIME 유형이 "text/plain"이고 Google 드라이브 (이전 Google 문서 도구)가 내 기기에서 선택 항목으로 제공됩니다. Google 드라이브를 선택하면 "이 항목은 Google로 업로드 할 수 없습니다 Toast 메시지를 통해 "문서화"할 수 있습니다.

내가 이렇게 내 공유 의도를 만들 : 메일, 메시지, 트위터와 워드 프레스 같은

Intent share_intent = new Intent(android.content.Intent.ACTION_SEND); 

share_intent.setType("text/plain"); 
share_intent.putExtra(android.content.Intent.EXTRA_SUBJECT, name); 
share_intent.putExtra(android.content.Intent.EXTRA_TEXT, content); 

startActivity(share_intent); 

앱이 모든 의도를 잘 공유 적어도 EXTRA_TEXT 내용을 처리 할 것으로 보인다.

Google 드라이브에서 메모를 성공적으로 업로드하거나 적어도 의도를 더 잘 처리 할 수있는 방법이 있는지 궁금합니다.

저는 안드로이드에 처음이에요. 어리석은 질문으로 판명되면 내 어리 석음을 용서해주세요. 전혀 도움이된다면 최소 SDK 버전 15를 개발 중입니다. 여기

오류 메시지의 스크린 잡아입니다 : 내가 다시 오류 메시지가 발견 로그 캣에서 Screen shot showing error message

:

05-13 23:31:46.906: E/UploadSharedItemActivity(14594): This item cannot be uploaded as Google Document. 

오류 메시지 전에 발생 경고도있다 :

05-13 23:31:46.250: W/ND(14594): Could not load Finalizer in its own class loader. Loading Finalizer in the current class loader instead. As a result, you will not be able to garbage collect this class loader. To support reclaiming this class loader, either resolve the underlying issue, or move Google Collections to your system class path. 
05-13 23:31:46.250: W/ND(14594): java.io.FileNotFoundException: com/google/inject/internal/Finalizer.class 
05-13 23:31:46.250: W/ND(14594): at NE.a(FinalizableReferenceQueue.java:269) 
05-13 23:31:46.250: W/ND(14594): at NE.a(FinalizableReferenceQueue.java:253) 

관련성이 있는지 여부는 잘 모르겠습니다.

전체 LogCat을 도움이 될 수 있도록 여기에 덤프 할 수 있습니다.

+0

Google 드라이브 앱의 버그와 같습니다. 코드가 잘된 것처럼 보입니다. 다른 앱이 문제없이 처리하는 경우 문제가 발생하지 않을 것입니다. 즉, 다른 형식으로 실험 해 볼 수 있습니다 (예 : 일부 태그에서 태그를 감싸고 'text/html'이라고 부름). 어떻게되는지 확인하십시오. – CommonsWare

+0

당신이 옳다고 생각합니다; 방금 브라우저 응용 프로그램과 몇 가지 다른 텍스트를 공유하려고했는데 거기에서도 같은 오류가 발생합니다. 나는 정말로 묻기 전에 이것을 점검해야했다. 나는이 문제를 무시하고 다시보고 할 수 있도록 태그에 텍스트를 감싸고 text/html로 공유합니다. –

답변

11

당신이 구글 문서에 텍스트를 공유 할 수 없습니다,하지만 당신은 파일 (텍스트 파일 등) 그래서, 당신의 응용 프로그램 내부의 파일에 텍스트를 저장하고 목적으로 해당 파일 공유 공유 할 수 있습니다

Intent intent = new Intent(android.content.Intent.ACTION_SEND); 
    intent.setType("text/plain"); 
    intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + your_file_path)); 
    startActivity(Intent.createChooser(intent, "")); 
+0

좋은 해결책입니다. 그것은 대접을합니다. 메시징과 같은 다른 응용 프로그램도 의도에 응답 할 수 있도록 추가 EXTRA_SUBJECT 및 EXTRA_TEXT 값을 의도에 추가했습니다. 유일한 문제는 전자 메일 클라이언트가 파일을 첨부 파일로 포함하고 전자 메일 콘텐츠를 EXTRA_TEXT 및 EXTRA_SUBJECT의 제목 줄로 채우는 것입니다. –

0

예 Google 드라이브의 버그입니다. 나는 여기서 물어보기 전에 다른 애플 리케이션에서 더 철저히 조사 했어야했다.

나는 앱의 '의견 보내기'기능을 통해 신고했습니다. Google 소프트웨어 공장의 누군가가 장래에 문제를 해결하기를 바랍니다.

관련 문제