티스토리 뷰
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
Android: Share plain text using intent (to all messaging apps)
Android: 모든 메시징 앱에 대해 인텐트를 사용하여 평문 텍스트 공유하기
문제 내용
I'm trying to share some text using an intent:
인텐트를 사용하여 텍스트를 공유하려고 합니다:
Intent i = new Intent(android.content.Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(android.content.Intent.EXTRA_TEXT, "TEXT");
and warping with chooser:
그리고 chooser로 감싸고 있습니다:
startActivity(Intent.createChooser(sms, getResources().getString(R.string.share_using)));
it works! but only for email app.
what I need is a general intent for all messaging app: emails, sms, IM (Whatsapp, Viber, Gmail, SMS...) tried using android.content.Intent.ACTION_VIEW
and tried using i.setType("vnd.android-dir/mms-sms");
nothing helped...
작동합니다! 그러나 이메일 앱만 작동합니다. 필요한 것은 전체 메시징 앱을 위한 일반적인 인텐트입니다: 이메일, SMS, IM (Whatsapp, Viber, Gmail, SMS...). android.content.Intent.ACTION_VIEW를 사용해보고 i.setType("vnd.android-dir/mms-sms")를 사용해보았으나 모두 도움이 되지 않았습니다.
("vnd.android-dir/mms-sms"
shared using sms only!)
("vnd.android-dir/mms-sms"는 SMS에서만 공유됩니다!)
높은 점수를 받은 Solution
Use the code as:
다음과 같이 코드를 사용하세요:
/*Create an ACTION_SEND Intent*/
Intent intent = new Intent(android.content.Intent.ACTION_SEND);
/*This will be the actual content you wish you share.*/
String shareBody = "Here is the share content body";
/*The type of the content is text, obviously.*/
intent.setType("text/plain");
/*Applying information Subject and Body.*/
intent.putExtra(android.content.Intent.EXTRA_SUBJECT, getString(R.string.share_subject));
intent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
/*Fire!*/
startActivity(Intent.createChooser(intent, getString(R.string.share_using)));
가장 최근 달린 Solution
By Creating an Intent using ACTION_SEND
you will be able to put extra its type is Intent.EXTRA_TEXT
, the second argument is the text you want to share. Then by setting the share type as text/plain
, the Intent service will bring you all apps that support sharing text
ACTION_SEND를 사용하여 인텐트를 만들면 extra를 추가하여 인텐트.EXTRA_TEXT가 됩니다. 두 번째 인수는 공유하려는 텍스트입니다. 그런 다음 공유 유형을 text/plain으로 설정하면 Intent 서비스가 텍스트 공유를 지원하는 모든 앱을 가져올 수 있습니다.
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
Intent shareIntent = Intent.createChooser(sendIntent, null);
startActivity(shareIntent);
출처 : https://stackoverflow.com/questions/9948373/android-share-plain-text-using-intent-to-all-messaging-apps
'개발 > 안드로이드' 카테고리의 다른 글
안드로이드에서 애니메이션 없이 액티비티 전환하기 (0) | 2023.02.09 |
---|---|
Nested RecyclerView에서 wrap_content가 동작하지 않을 때 문제 해결하기 (0) | 2023.02.09 |
NotificationCompat.Builder 제대로 사용하기 (0) | 2023.02.08 |
리스트뷰에서 ArrayIndexOutOfBoundsException 오류 수정하기 (0) | 2023.02.08 |
클래스를 상속하였을 때 인플레이트 오류 수정하기 (0) | 2023.02.07 |