앱에서 다른 앱 실행 시 값 전달하는 방법
앱에서 '어떤 앱' 을 호출 해야 될 때가 있다. 단순히 호출만이 아니라, 데이터를 전달하면서
호출할 때가 분명히 발생한다!
<호출하는 앱 코드>
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setData(Uri.parse("custom://main?url=http://www.daum.net"));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
|Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
<호출받는 앱 코드>
onCreate 나 onResume 등에서 Intent 를 받아오자.
if (Intent.ACTION_VIEW.equals(intent.getAction())) {
Uri uri = intent.getData();
if (String.valueOf(uri).startsWith("custom")) {
//TODO 원하는 작업 실행
String url = uri.getQueryParameter("url");
}
}
<호출받는 앱 매니페스트>
매니페스트에서 스키마 선언이 중요하다.
custom://main 이런식으로 호출 하기 위해서는 scheme 과 host 정의가 필요하다.
'안드로이드 > TIP' 카테고리의 다른 글
| HttpUrlConnection 세션 (0) | 2017.10.18 |
|---|---|
| 단순히 특정앱만 호출하자! (0) | 2017.09.27 |
| 안드로이드 미러링 앱 (0) | 2017.09.18 |
| Keystore 정보 숨기기 (0) | 2017.08.18 |
| build.gradle lintOptions (0) | 2017.08.18 |



