모바일 브라으저 링크를 안드로이드웹뷰에서 열고자 합니다. 채택완료
안녕하세요. 아래와 같은 링크가 브라우저상에 있다고 가정하겠습니다. 링크를 클릭했을때, 보고있는 브라우저가 열리는것이 아닌 설치되어있는 안드로이드웹뷰 abc 앱에서 페이지가 열리게 하려면 어떻게 처리해야 할는지요? " target="_blank" rel="noopener noreferrer">http://abc.com/member/register.html"> 메인화면 바로가기 딥링크라는것을 검색해서 안드로이드 매니페스트에서 아래와 같이 정의한후 모바일 웹링크를 메인화면 바로가기 이런식으로 해주면 abc 앱이 열리기는 하는데 이후 특정페이지로 ("member/register.html") 이동을 어떻게 처리해야 할는지 모르겠습니다.
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="move" android:scheme="abc" />
</intent-filter></p>
<p>
답변 2개
https://medium.com/%EB%B0%95%EC%83%81%EA%B6%8C%EC%9D%98-%EC%82%BD%EC%A7%88%EB%B8%94%EB%A1%9C%EA%B7%B8/%EB%94%A5%EB%A7%81%ED%81%AC-deeplink-%EC%B2%98%EB%A6%AC-schemeactivity-%ED%95%98%EB%82%98%EB%A1%9C-%EB%81%9D%EB%82%B4%EA%B8%B0-877c2b60619b">https://medium.com/%EB%B0%95%EC%83%81%EA%B6%8C%EC%9D%98-%EC%82%BD%EC%A7%88%EB%B8%94%EB%A1%9C%EA%B7%B8/%EB%94%A5%EB%A7%81%ED%81%AC-deeplink-%EC%B2%98%EB%A6%AC-schemeactivity-%ED%95%98%EB%82%98%EB%A1%9C-%EB%81%9D%EB%82%B4%EA%B8%B0-877c2b60619b
이걸 보시고 하시면 되는데
딥링크 + 변수전달을 하면 안드로이드앱에서 변수를 전달받을수 있고
해당 변수에 따라서 분기를 한후 웹뷰로 이동을 하시면 됩니다.
이렇게 전달하면 앱에서 mode 라는 변수값을 받을수 있고 그받은변수로
웹뷰명.loadurl("도메인/member/register.html");
이런식으로 처리가됩니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
https://developer.android.com/training/app-links/deep-linking?hl=ko#java">https://developer.android.com/training/app-links/deep-linking?hl=ko#java
=> 기본적인 설명같고 이걸 참고해서 아래와 같이 사용합니다.
Intent intent = getIntent();
if (Intent.ACTION_VIEW.equals(intent.getAction())) { Uri uri = intent.getData(); String mode = CommonLib.parse_scheme_url(openurl, "mode"); Log.d(TAG, TAG + " ::: deeplink mode ::: " + mode); if (mode.equals("register") {
웹뷰명.loadurl("도메인/member/register.html");
} }
CommonLib 클래스 화일에 해당 함수
public static String parse_scheme_url(String scheme, String key) { try { Uri url = Uri.parse(scheme); return url.getQueryParameter(key); } catch (Exception e) { return " "; } }
=> 저는 이런식으로 딥링크를 받아서 사용합니다.
=> 이게 좀더 쉬울거 같네요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
분기코드를 메인액티비티에서 작성해줘야 할거 같은데, 그부분에서 막히고 있습니다 ㅠㅠ