앱에서 다른 앱 실행 시 값 전달하는 방법



앱에서 '어떤 앱' 을 호출 해야 될 때가 있다. 단순히 호출만이 아니라, 데이터를 전달하면서

호출할 때가 분명히 발생한다!




<호출하는 앱 코드>

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
Posted by 자바리즘
,