Custom한 url scheme에 대한 handling

똘이주인·2021년 8월 9일
0

스키마는 외부에서 자신의 앱에 접근할 수 있도록 하나의 통로를 열어주는 역활

안드로이드에서 스키마란 우리가 일반적으로 인터넷에 접속할 때 http://www.google.com/ 와 같은 주소 체계를 사용합니다. 여기서 http:// 이부분이 안드로이드에서 만들수 있는 스키마이다.

fb://
kakaotalk://

위와 같은 스키마가 커스텀 스키마

A앱에서 B앱을 호출하고 싶을때,

주소창에서 A앱을 실행시키고 싶을때,

1,2번을 하면서 parameter로 값을 전달하고 싶을때.

안드로이드 메니페시트에 외부에서 호출할 액티비티의 속성으로 인텐트 필터를 추가합니다.

<intent-filter>
		<action android:name="android.intent.action.VIEW"/>
		<category android:name="android.intent.category.BROWSABLE"/>
		<category android:name="android.intent.category.DEFAULT"/>
		<data android:scheme="testapp"/> // 해당 스키마 부분에 testapp정의
</intent-filter>

외부에서 스키마 호출

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setData(Uri.parse("testapp://"));
startActivity(intent);

설정해준대로 인텐트를 이용해서 요청하면 해당 액티비티를 불러온다.

모바일 웹에서도 해당 액티비티를 불러올수있다.

안드로이드 폰내에서는 태그를 사용하여 해당 스키마를 호출하면 해당 액티비티를 찾아서 불러올 수 있다.

0개의 댓글

관련 채용 정보