kakaotalk custom url
------------------------------------------------------------------------------------
1. 카카오톡 링크 클릭시 실행될 엑티비티 설정
AndroidManifest.xml
<meta-data
android:name="com.kakao.sdk.AppKey"
android:value="@string/kakao_app_key" />
<activity
android:name="com.apps.startActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar" >
<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:scheme="@string/kakao_scheme" android:host="@string/kakaolink_host" />
</intent-filter>
</activity>
2. 카카오톡 키설정 ( https://developers.kakao.com 에서 키를 발급 받는다, https://developers.kakao.com/docs/android 참고 )
strings.xml
<string name="kakao_app_key">your_key</string> //개발자 센터에서 네이티브 앱 키를 넣어 줍니다.
<string name="kakao_scheme">kakao+your_key</string>
<string name="kakaolink_host">kakaolink</string>
3. 카카오톡 링크 보내기
//첨부한 sdk 프로젝트를 import 해와서 라이브러리로 불러온다.
private KakaoLink kakaoLink;
private KakaoTalkLinkMessageBuilder kakaoTalkLinkMessageBuilder;
String stringText = "";
private void kakaoLinkStart(String type) throws KakaoParameterException {
String referrer = "";
referrer = "data=your_data"; //카카오톡에서 보낼 값
stringText = "message";
try {
kakaoLink = KakaoLink.getKakaoLink(mContext);
} catch (KakaoParameterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
kakaoTalkLinkMessageBuilder = kakaoLink
.createKakaoTalkLinkMessageBuilder();
try {
kakaoTalkLinkMessageBuilder.addText(stringText).addAppButton(
"[App Name]",
new AppActionBuilder()
.addActionInfo(
AppActionInfoBuilder
.createAndroidActionInfoBuilder()
.setExecuteParam(referrer)
.setMarketParam(
"referrer=kakaotalklink")
.build())
.addActionInfo(
AppActionInfoBuilder
.createiOSActionInfoBuilder()
.setExecuteParam(
"execparamkey1=1111")
.build()).build());
kakaoLink
.sendMessage(kakaoTalkLinkMessageBuilder.build(), mContext);
} catch (KakaoParameterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
4. 엑티비티에서 값 받기
startActivity.java
if (Intent.ACTION_VIEW.equals(gt.getAction())) {// 커스텀 url일때
Uri uri = gt.getData();
String scheme_data = uri.getQuery(); //data=your_data 값이 나오게 된다
------------------------------------------------------------------------------------
'안드로이드' 카테고리의 다른 글
String 에 URL이 포함되었는지 체크 (0) | 2015.03.11 |
---|---|
이미지 로드 라이브러리 Glide (0) | 2015.03.06 |
android nfc read-only write (0) | 2015.01.27 |
android sms 여러명에게 보내기 (0) | 2015.01.27 |
java 공휴일 체크 (0) | 2015.01.15 |