2017-12-31 61 views
0

다음 코드를 사용하여 여러 줄 텍스트를 공유하려고했지만 마지막 줄만 나타납니다. val sharingIntent = Intent(Intent.ACTION_SEND) sharingIntent.setType("text/plain") sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Found this cool deal! Check it out.") sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, TITLE) sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "MRP : $PRICE") sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Deal Price : $DEAL_PRICE") startActivity(Intent.createChooser(sharingIntent, "Share using")) 멀티 라인 텍스트 공유 목적의 앱

답변

1

putExtra(key, value)으로 전화하면 이전에 동일한 값인 key에 있던 값이 지워집니다. 원하는 모든 텍스트가 포함 된 단일 문자열을 입력 해보십시오.

sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, 
    "Found this cool deal! Check it out.\n" + 
    TITLE + "\n" + 
    "MRP : $PRICE\n" + 
    "DEAL PRICE : $DEAL_PRICE"); 

HTML 콘텐츠의 경우 사용 된 코드를 표시해야합니다. 그러나 fromHtml()을 사용하지 않으려 고합니다. HTML을 스타일있는 텍스트로 변환합니다.이 텍스트는 WhatsApp이받을 것으로 기대하지 않습니다. 올바른 HTML 형식을 사용하여 원시 HTML을 보내십시오.

+0

고마워요! 이 작동합니다. 나는 HTML 부분에 별도의 질문을 할 것이라고 결정했다. – Kotlinboy

1

마지막 줄만 나타나는 이유는 단일 의도가 키에 대해 하나의 값만 가질 수 있기 때문입니다. 그래서 putExtra (EXTRA_TEXT, foo)를 호출 할 때마다 이전의 것을 덮어 쓰게됩니다. 여러 줄을 보내려면 '\ n'문자를 사용하여 단일 줄로 보내십시오.

html을 보내려면 - 당신은 html을 보내고 있다고 말해야합니다. 당신은 일반 텍스트를 보내고 있다고 말하고 있습니다. html을 보내는 경우 MIME 유형을 text/html로 변경하십시오. (참고 : whatsapp가 html을 지원하는지 여부는 알 수 없지만, html을 지원하는 모든 앱에 html을 전송하는 방법입니다.)