스키마는 외부에서 자신의 앱에 접근할 수 있도록 하나의 통로를 열어주는 역활
안드로이드에서 스키마란 우리가 일반적으로 인터넷에 접속할 때 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);
설정해준대로 인텐트를 이용해서 요청하면 해당 액티비티를 불러온다.
모바일 웹에서도 해당 액티비티를 불러올수있다.
안드로이드 폰내에서는 태그를 사용하여 해당 스키마를 호출하면 해당 액티비티를 찾아서 불러올 수 있다.