티스토리 뷰
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
- Objective-C
- ios
- 어댑터
- 제스처디텍터
- swift
- prepareforreuse
- 표현패턴
- subscript
- 프래그먼트매니저
- 부가데이터
- 전화걸기연결
- 카카오톡열기
- 프래그먼트
- 터치리스너
- allcases
- 알림대화상자
- 쉐이프드로어블
- 스낵바설정
- 비트맵버튼
- 뷰페이저
- 전화연결하기
- 상태드로어블
- 다이얼연결
- 데이터
- 안드로이드
- objc
- 액션바
- 인플레이터
- 페이저타이틀스트립
- CaseIterable
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함