Intent를 공부 하고 있는데요..
사용자 정의 외에 안드로이드 기본 제공 앱의 activity(주소록, 전화걸기, 지도 열기..등등..)을 수행 하기 위해서는.
다음과 같이 세단계인데요..(1,2가 묶이는 경우도 있지만..)
1. Intent 객체 생성.
2. IntentAction 과 Uri 설정
3. startActivity류 실행
궁금한것은.
하려고 하는 액션의 종류에 따라라 다른 action 설정과 setData, setType, putParam등으로 다른 초기화를 해주는데
언제 무엇을 해야 하는지 알수 있는 기준은 무었인가요?
책의 예제나 구글링을 보고 남이 해논게 있으면 따라서 붙이면야 되는데 이런 행동을 할려면 어떤 action을 해야 하고
어떨때 setData를 해야 하며 그 데이터의 uri 형식은 무엇을 써야 하는지..
이런것들을 사전에 파악 하기 위해선 어떻게 해야 하는지요?
주소록 열기1
Intent
intent = new Intent(Intent.ACTION_PICK); intent.setType(ContactsContract.Contacts.CONTENT_TYPE); tartActivityForResult(intent, 0); 주소록 열기2 Intent intent = new Intent(); intent.setAction(Intent.ACTION_PICK); //intent.setData(Contacts.CONTENT_URI); //이걸로 열면 결과를 가져올때 오류가 intent.setData(Uri.parse("content://com.android.contacts/data/phones")); startActivityForResult(intent, 0); 오디오 실행 Intent intent = new Intent(Intent.ACTION_GET_CONTENT ); intent.setType("audio/*"); startActivity(Intent.createChooser(intent, "오디오어플리케이션 선택")); 구글 검색 Intent intent = Intent(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY, "안드로이드펍"); startActivity(intent);
어플리케이션에 인텐트 필터라는것을 적용합니다. 이것을 통해서 다른 어플리케이션을 연동할 수 있습니다.
예를들면 <category android:name="android.intent.category.LAUNCHER" /> 이 옵션은 앱 바로가기라고 보시면 됩니다.
이옵션을 갖은 앱들을 찾아서 실행하도록 해주는게 런쳐어플라고 보시면 되구요.
결론은 인텐트필터에 대해서 알아보세요.