메타에서 제공하는 공식 문서에 따르면 스토리에 공유하기, 피드에 공유하기 기능만을 제공하고 있다.
스토리에 공유하기는 이미지를/피드에 공유하기는 글 또는 이미지를 공유할 수 있는데, 나는 인스타그램 DM으로 원하는 내용을 공유하도록 구현해야 했다.
몇날 며칠을 고민하다 내린 나의 해결책은...
💡 ACTION_SEND에 text로 extra 넣기 & package 인스타로 지정
ACTION_SEND를 이용하면 가능한 모든 방식이 공유하기 시트에 나타나게 되는데,
여기서 package를 직접 지정해 주어 바로 거기로 이동하게 한다면 인스타그램 DM으로 공유하기 기능으로 동작하는 것처럼 보일 것이다.
Code
public void shareInsta(String str_url) {
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, str_url);
sendIntent.setType("text/plain");
sendIntent.setPackage("com.instagram.android");
try {
startActivity(sendIntent);
} catch (Exception exception) {
// TODO: 인스타 앱 없을 시 처리
Toast.makeText(this, exception.getMessage(), Toast.LENGTH_SHORT).show();
}
}
[참고]
'💻 Android' 카테고리의 다른 글
[Android] Android CI/CD 구축하기 (1) - Firebase App Distribution, Play store 테스트 트랙 (0) | 2024.05.25 |
---|---|
[Android] Android 13 마이그레이션 (0) | 2024.03.09 |
[Android/IOS] 인앱 리뷰 기능 추가하기 (2) | 2023.09.23 |
[Android/MySQL] 안드로이드에서 JDBC 사용하기 (0) | 2022.11.08 |
[Android/Kotlin] 갤러리에서 이미지 가져오기 (0) | 2022.08.02 |