카카오톡 인텐트 메시지 전송 동작은 이전에는 작동이 되었으나 현재는 막혀진 상태이다.
그러나 일반적인 ACTION_SEND 암시적 인텐트상황에서는 카카오톡도 자신의 앱을 써달라는 듯이 당당히 얼굴을 내비친다.
그래서 이것을 활용하여 암시적 인텐트를 사용하는 동시에
액티비티 리스트에 "kakao.talk"이 들어 있는 액티비티 문자열을 확인하여 카카오톡에 꼭 찝어 문자를 전송 할수 있게 만들었다.
해당 코드는 아래와 같다.
Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("text/plain");
String smsBody = "메시지 내용 블라블라";
PackageManager pm = context.getPackageManager();
List<ResolveInfo> activityList = pm
.queryIntentActivities(intent, 0);
for (ResolveInfo app : activityList) {
if ((app.activityInfo.name).contains("kakao.talk")) {
ActivityInfo activity = app.activityInfo;
ComponentName name = new ComponentName(
activity.applicationInfo.packageName, activity.name);
intent.setComponent(name);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.putExtra(Intent.EXTRA_TEXT, smsBody);
intent.setType("text/plain");
context.startActivity(intent);
}
}
끝
'프로그래밍 > 안드로이드' 카테고리의 다른 글
안드로이드 스튜디오 동시에 여러대 RUN (0) | 2015.12.20 |
---|