자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 바쁜 와중에도 답변을 주시는 분들께 감사 댓글 필수
-----------------------------------------------------------------------------------------------
안드로이드에서 shellexcute처럼 파일을 열었을 때

Intent사용해서 외부 실행가능한 앱들을 연결할 수 있게끔 해주려고 합니다.

테스트해보니까 잘 되는 것 같은데 xlsx, ppt, pdf 확장자에 대해서

기본 구글앱스(스프레트시트, 프레젠테이션, 드라이브 PDF 뷰어)들이 받지를 못합니다.

이미지 파일에 대해서 구글앱스 중에 포토, 갤러리는 문제없이 잘 받습니다.

 

그래서 미메타입을 얻었는데 연결될 앱이 하나도 없으면 아래와 같은 Exception을 뱉어냅니다. 예외처리는 하면 되지만,

미메타입을 */*로 해도  구글앱스(스프레트시트, 프레젠테이션, 드라이브 PDF 뷰어)들이 선택 목록에 없습니다.

이것때문에 기본 구글앱스가 있는데 사용자에게 서드파티앱을 설치하도록 강제하는 것도 그렇고

제가 무엇을 조치하면 구글앱스가 Intent를 받을까요?

제 디바이스에서 ES 파일 탐색기로 해당 확장자 파일 열어보면 해당 구글앱스들이 잘 나옵니다.

증상은 제 디바이스와 에뮬레이터 둘 다 테스트해도 똑같습니다.

 

intentException.png

아래는 제가 테스트해본 예제소스는입니다.

 

uses
  Androidapi.JNI.GraphicsContentViewText,
  Androidapi.JNI.JavaTypes,
  Androidapi.Helpers,
  System.IOUtils,
  Androidapi.JNI.Webkit;

{$R *.fmx}

procedure TForm1.Button1Click(Sender: TObject);
var
  Intent: JIntent;
  filename: String;
  t: JString;
begin
  filename := Edit1.text;
  Intent := TJIntent.Create;

  // Get MIME Type
  t := TJMimeTypeMap.JavaClass.getSingleton.getMimeTypeFromExtension
        (StringToJString (StringReplace (TPath.GetExtension(filename), '.', '', [])));
  if t = nil then
    t := StringToJString('*/*');

  Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
  Intent.setDataAndType(StrToJURI(TPath.GetPublicPath + PathDelim + filename),  t);
  SharedActivity.startActivity(Intent);
end;

 

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 37985
공지 유용한 관련 사이트 관리자2 2014.03.20 77502
1192 StringGrid에서 선택된 값(KEY)로하여 화면을 호출시 Access violation 발생 [3] AllwaysHappy 2017.10.31 326
1191 StringGrid에 출력되는 Data(제목등)이 이중(잔상?)으로 나오는데 해결책을 구합니다. [4] file AllwaysHappy 2017.11.01 14101
1190 sqlconnection 문제 [1] bursil 2017.11.02 326
1189 docking or Handle 문제 문의 [1] 마이밥 2017.11.03 481
1188 [질문] AdvToolPanel 컴포넌트 개짐 현상 [1] 라일락 2017.11.03 321
1187 mob ole 실행 에러 [1] bursil 2017.11.03 319
1186 앱스토아에서 심사 거절 당한 이유를 해결해주세요. [2] file 화이부동 2017.11.07 713
1185 WebBrowser 관련 문의 [6] 세스나 2017.11.09 609
1184 [100%활용 세미나] 리눅스 지원 계획을 알고 싶습니다. 험프리 2017.11.10 241
1183 [100%활용 세미나] RAD서버와 엔터프라이즈 커넥터를 구매하지 않고 사용가능한가요? 험프리 2017.11.10 280
1182 VirtualKeyboard 관련 질문있습니다. 신우 2017.11.10 325
1181 스트링그리드의결과를 Excel File로 출력하는 방법에 대해서 AllwaysHappy 2017.11.10 377
1180 TWebBrowser를 통한 JS에서 FMX앱의 Function, Procedure 실행 문의 [1] 나즈나 2017.11.10 564
1179 개발모드에서는 발생하지 않는데 구글플레이에서 다운받은 앱은 강제종료되는데 설정 잘못인지요? 스카이 2017.11.11 454
1178 32 bit 윈도우 모드로 테스트할 때 ListView 삭제기능의 구현방법에 대해 문의드립니다. [1] 스카이 2017.11.11 508
1177 listview를 DB와 livebind시 바인딩된 자료변화... [1] bursil 2017.11.13 359
1176 계속 에러 메세지가 나오는데 해결방법이 있나요?? [1] file 서동빈 2017.11.13 342
1175 FDQuery UTF8 변환문제 [2] 그아이 2017.11.14 439
» FMX앱에서 던진 Intent를 Google Apps가 Intent를 받지 못합니다. [1] file Vincent 2017.11.14 572
1173 cap파일 배포시 인증 문제에 대한 자문을 요청드립니다. [1] 데브기어 2017.11.15 465