티스토리 뷰
activity_main.xml
<Button
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"
android:background="@drawable/ic_kakao"
android:onClick="onKakao" />
카카오톡 모양의 버튼을 main xml 파일에 넣고,
버튼을 눌렀을 때 카카오톡 앱을 열게 하기 위해 onClick 함수를 걸어준다.
MainActivity.java
public void onKakao(View v) {
if(getPackageList()) {
Intent intent = getPackageManager().getLaunchIntentForPackage("com.kakao.talk");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}else{
String url = "market://details?id="+"com.kakao.talk";
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(i);
}
}
public boolean getPackageList() {
boolean isExist = false;
PackageManager pkgMgr = getPackageManager();
List<ResolveInfo> mApps;
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
mApps = pkgMgr.queryIntentActivities(mainIntent, 0);
try {
for (int i=0; i<mApps.size(); i++){
if(mApps.get(i).activityInfo.packageName.startsWith("com.kakao.talk")){
isExist = true;
break;
}
}
}
catch (Exception e){
isExist = false;
}
return isExist;
}
메인 함수를 이렇게 짜면 되는데,
getPackageList( ) 함수는 해당 디바이스에 카카오톡 앱이 설치되었는지를 확인하여,
설치 되어있으면 true를, 설치 되어있지 않으면 false를 리턴한다.
아까 xml에서 onClick 함수로 걸어준 onKakao에서는 getPackageList( )의 결과값을 보고,
true를 전달 받으면 카카오톡 "앱"을 실행시켜주고,
false를 전달 받으면 앱스토어에서 카카오톡 설치 버튼을 누르는 화면의 지점으로 건너가게 해준다.
'Android' 카테고리의 다른 글
이벤트 처리 예시 (터치 리스너, 키 이벤트, 제스처 디텍터) (0) | 2020.03.22 |
---|---|
안드로이드 테이블 레이아웃 예시 (0) | 2020.03.22 |
스크롤뷰 ScrollView 안의 LinearLayout (0) | 2020.03.22 |
쉐이프 드로어블 예제 (0) | 2020.03.16 |
상태 드로어블 예제 (0) | 2020.03.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 스낵바설정
- 전화연결하기
- 프래그먼트매니저
- ios
- 뷰페이저
- 다이얼연결
- 데이터
- allcases
- 인플레이터
- 안드로이드
- Objective-C
- 부가데이터
- 알림대화상자
- 제스처디텍터
- prepareforreuse
- 액션바
- 쉐이프드로어블
- subscript
- 터치리스너
- CaseIterable
- swift
- 프래그먼트
- 표현패턴
- 페이저타이틀스트립
- objc
- 전화걸기연결
- 어댑터
- 카카오톡열기
- 비트맵버튼
- 상태드로어블
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함