안녕하세요
안드로이드 개발 초보자이고 개발 도중에 어려움에 있어서 선배고수님들에게 조언을 구하고자 질문드립니다.
현재 커스텀 스킴으로 url에서 앱이 설치 되어 있지 않으면 마켓주소로 가고 앱이 설치 되어있으면 해당 Activity를 띄울려고 하는데 잘 안되네요 좀 도와 주십시요 ^^
AndroidManifest.xml에 해당 커스텀 스킴 설정은 아래와 같습니다.
<activity
android:name=".GivetalkViewActivity"
android:configChanges="keyboard|keyboardHidden|orientation|orientation|screenSize"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="post_detail"
android:scheme="funnyview" />
<data
android:scheme="kakao768afecedb47c4a2b7b2300ba0026a16"
android:host="kakaolink" />
<!--<data-->
<!--android:scheme="@string/kakao_scheme"-->
<!--android:host="@string/kakaolink_host" />-->
</intent-filter>
</activity>
그리고 웹페이지에서 앱설치 유무관련체크하는 부분은 아래와 소스입니다.
<script>
var market_a = "market://details?id=kr.co.nsupport.givemon";
var IS_IPAD = navigator.userAgent.match(/iPad/i) != null,
IS_IPHONE = !IS_IPAD && ((navigator.userAgent.match(/iPhone/i) != null) || (navigator.userAgent.match(/iPod/i) != null)),
IS_IOS = IS_IPAD || IS_IPHONE,
IS_ANDROID = !IS_IOS && navigator.userAgent.match(/android/i) != null,
IS_MOBILE = IS_IOS || IS_ANDROID;
function checkAppInstall() {
var bo_table = "<?=$bo_table?>";
var wr_id = "<?=$wr_id?>";
// 앱에 설정해놓은 커스텀 스킴. 여기선 "funnyview"
var url = "funnyview://post_detail?bo_table="+bo_table+"&wr_id="+wr_id;
if(IS_ANDROID) {
// 안드로이드는 미리 만들어둔 iframe에
var invisible_div = document.getElementById("invisible_div");
invisible_div.innerHTML = "<iframe src=" + url + " onload='goMarket();'></iframe>";
} else if(IS_IOS) {
setTimeout( function() {
goMarket();
}, 1000);
window.location = url;
} else {
//alert("안드로이드와 아이폰에서만 사용 가능");
}
return false;
}
// 마켓 이동
function goMarket() {
if(IS_ANDROID) {
//alert("here");
window.location=market_a;
} else if(IS_IOS) {
//location.href=market_i;
} else {
/* 기타 OS일 때 */
}
}
checkAppInstall();
</script>
위처럼 체크 하고 있구요 현재 상태는 앱이 설치 되어 있으면 해당 Activity가 열리는데 앱이 설치 되어있지 않으면 그냥 모바일페이지가 열리는 상태이구요
테스트는 페이스북에 링크 공유해서 링크 클릭으로 테스트 하고 있습니다.
고수님들의 조언 부탁드립니다.