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

브라우저 app에 url로 창을 띄울 때, 새로운 탭이아닌 기존탭에서 열리게 할수는 없나요?

0 추천

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.naver.com"));

intent.setPackage("com.android.chrome");

startActivity(intent);

 

아래와 같은 코드로 실행을 하면 크롬이 실행되면서 새탭(새창)이 열리고 그 탭에 명시한 url의 페이지가 보여집니다.

제가 원하는 상황은 background로 크롬에서 접속하는 url을 계속 체크를 하다가 특정 사이트를 접속을 하면 새창이 아닌 현재 실행되고 있는 크롬 창에서 다른 url로 이동을 하는 것을 구현하고 싶습니다. 

 

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

위 코드 실행 : 기존 실행하고있는 크롬 탭 + intent 실행시 크롬에서 새탭으로 연결됨 = 총 2개의 탭

희망하는 동작 : 기존 실행하고 있는 크롬 탭 -> intent 실행시 현재탭에서 바로 명시한 url로 연결됨 = 총 1개의 탭

 

구현하는 방법이 있을까요?

 

lns0mnia (380 포인트) 님이 2021년 12월 21일 질문
뭐를 하시려고 하는지는 잘 모르겠지만, Intent의 액션을 통해서 사용자가 크롬만을 사용한다는 보장이 없습니다. ACTION_VIEW와 URL을 파싱할 수 있는 어떤 앱도 사용자가 선택할 수가 있습니다. 앱내에서 웹뷰를 통해서 보여주던가 크롬탭같은  Jetpack 라이브러리를 사용해서 제어하는 게 더 나을 수 있습니다.
@spark
답변 감사합니다!
네 말씀 하신대로 사용자가 어떤 브라우저를 사용할지 모릅니다. 그래서 일단, 크롬이랑 삼성브라우저만을 대상으로 하여 작업을 해보려합니다.
말씀해주신 webView를 통해 보여주는 방법은 제가 원하는 서비스랑은 조금 달라서요 ㅜㅜ 크롬이나 삼성브라우저 내에서 특정 url로 이동을 하였을 때,
기존 탭에서 제가 원하는 url로 이동시킬수 있는 방법을 고민중입니다ㅜㅜ
ACTION_VIEW는 사용자가 디바이스의 상황에 따라 web browser가 아닌 앱을 선택할 수도 있습니다. 어떤 브라우져가 아니라 어떤 앱이라는 가정을 하셔야 해요.

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...