마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Webview사용 관련 질문

0 추천
제가 만든 어플은 웹뷰기능을 씌워서 특정 사이트를 보여주는 어플입니다.

 

그리고 그 사이트 내부에는 네이버 TV캐스트에서 퍼온 동영상이 있습니다.

그 동영상을 일반화질로 보면 바로 볼 수 있는데 고화질 이상을 보려면 naver tvcast어플이 깔려 있어야 합니다.

 

스마트폰에서 일반 브라우저를 통해서 그 사이트에 접속해서 해당 동영상을 고화질로 볼 경우, TVcast어플이 깔려있을 경우 그 어플을 통해서 재생이 되고, 깔려있지 않을 경우 마켓으로 이동해서 설치하게 해줍니다.

 

하지만 제 어플을 통해서 그 동영상을 고화질로 보려고 하면,

 

  웹페이지를 표시할 수 없습니다.

  intent://vod_play?masterVideoId~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  ~~~~~~~~~~~~~

  에 있는 웹페이지가 일시적으로 중단되었거나 새 웹 주소가 영구적으로 이동했을 수도 있습니다.

 

라는 오류가 뜨네요.

 

제가 봤을 때 제 어플에 다른 어플에 대한 접근이 허용이 나있지 않은 것 같은데, 어떻게 하면 해결을 할 수 있을까요??

 

참고로 저는 어플개발에 있어서는 생초보입니다 ㅠㅠ

 

-------------------------------------------------------------------------------

 

한 가지 더 질문하겠습니다!!

 

스마트폰으로 어플을 사용하던 도중 가만히 놔두면 절전으로 인해 화면이 꺼지잖습니까??

그래서 다시 켜면 어플에서 나가져 있고, 어플에 다시 접속하면 제가 최근에 보던 화면이 아닌 홈화면에서 다시 시작하는데, 이걸 해결하는 방법은 없나요??

화면을 다시 켜더라도 원래 보던 그 화면 그대로이거나, 아니면 어플에서 나가져 있더라도 어플에 다시 접속하면 최근에 보던 화면부터 시작한다거나... 그렇게 하기 위한 해결책을 알려주시면 감사하겠습니다..!
로아에 (200 포인트) 님이 2016년 2월 12일 질문

1개의 답변

0 추천
첫번째 질문은 이해가 잘 안되는데 네이버미디어플레이어가 실행은 되나요?? 제가 알기론 안드로이드에서 네이버 미디어플레이어는 웹에서 작동하는게 아니라 앱으로 따로 있어서 저런 페이지가 없을 것 같은데... 인텐트가 되긴 하는건지 다시 알려주세요ㅠ

두번째는 SQLite라는 간단한 데이터베이스를 공부하시면 도움이 될 것 같네요. 쉽게 설명하자면 SQLite에 저장된 데이터는 앱이 종료되더라도 저장되어있는데, 한 액티비티를 열면 SQLite 상에 그 액티비티의 정보를 저장해놓고 다시 앱을 켜면 SQLite에 저장되어 있는 액티비티가 있는지 확인하고 있다면 그 액티비티를 실행하면 됩니다
초보개발자z (1,480 포인트) 님이 2016년 2월 12일 답변
첫번째 질문을 조금 더 명확하게 하겠습니다.

일단 네이버미디어플레이어는 설치가 되어 있습니다.
그래서 일반 브라우저를 이용해 해당 사이트에 접속하여 동영상을 재생할 때에는 정상적으로 네이버미디어플레어로 넘어가서 영상을 볼 수 있습니다.

그런데 웹뷰를 통해서 동영상을 재생하려고 하면, 위에서 말씀드린 "웹페이지를 표시할 수 없습니다~~~~" 이 화면이 뜨게 됩니다.

제가 여러 개 연구해본 바로는, 제가 만든 웹뷰에서 "다른 어플리케이션"을 실행하려고 하면 전부 이런 오류가 발생합니다.

웹뷰에서 "다른 어플리케이션"을 실행시키는 권한이라든지, 능력 등이 없는 것 같습니다...ㅠㅠ
위의 소스는 커스텀 스키마를 통하여 네이버 앱을 실행시킵니다.
masterVideoId 가 해당 동영상의 id값이겠죠...
내부적으로 동영상 주소를 가지고 있을테니...
즉 다이렉트 실행은 불가능합니다.
혹시 모르니 동영상 공유 가능한지 API 찾아보세요

http://csjung.tistory.com/26
allowTaskReparenting = "true"
새로운 태스크로 실행하지 않는 이상 예전 화면을 보여줍니다
...