본문 바로가기
ANDROID

Android 공유하기 개발

by GoodDev 2020. 7. 2.

1. 기본 공유하기 부분

 

public void shareLinkToSharedApp() {

Intent intentshare = new Intent(android.content.Intent.ACTION_SEND);

intentshare.setType("text/plain");
intentshare.putExtra(Intent.EXTRA_TEXT, "공유할 글자 입력");  

Intent chooser = Intent.createChooser(intentshare, "공유하기 타이틀 입력");
startActivity(chooser);
}

 

2. 특정 어플 조회 기능 추가


void shareLinkToSelectedSharedApp() {
Intent intent = new Intent(android.content.Intent.ACTION_SEND);

intent.setType("text/plain");

List<ResolveInfo> appList = getPackageManager().queryIntentActivities(intent, 0);
if (appList.isEmpty()) {
return;
}

List<Intent> shareIntentList = new ArrayList<Intent>();
String shareText = "공유할 글자 입력";
for (ResolveInfo info : appList) {
Intent shareIntent = (Intent) intent.clone();

shareIntent.setType("text/plain"); 

 

// 공유하기에 노출될 어플 패키지 명으로 추가

// 1개일 경우 해당 어플이 바로 실행됨.
if (info.activityInfo.packageName.toLowerCase().equals("com.facebook.katana")) {
shareIntent.putExtra(Intent.EXTRA_TEXT, shareText);

shareIntent.setPackage(info.activityInfo.packageName);

shareIntentList.add(shareIntent);

}

 

Intent chooser = Intent.createChooser(shareIntentList.remove(0), "select");
chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, shareIntentList.toArray(new Parcelable[]{}));
startActivity(chooser);
}

 

댓글