2016-09-11 9 views
0

目標:當用戶點擊按鈕Send to...,我希望Android應用程序打開,可以發送郵件(郵件,短信等)的列表。用戶選擇一個。這種應用的文本消息中已經喂打開Android的意圖:通過電子郵件或短信發送消息時,使用內置的應用程序選擇器

下面是我用它來嘗試實現這一代碼:

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("text/plain"); 
intent.putExtra(Intent.EXTRA_TEXT, outputTextView.getText()); 
if (intent.resolveActivity(getPackageManager()) != null) { 
    startActivity(intent); 

問題:當運行它,正確地顯示可用的應用程序列表(如Gmail,環聊,Messenger,保留,翻譯等)。如果我選擇GMail,它工作正常。 但是:如果我選擇環聊,保留,翻譯或任何其他建議的應用程序,我的文本不會顯示在這些應用程序中。

我錯過了什麼?

回答

2

試試這個代碼

Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND); 
     shareIntent.setType("text/plain"); 
     shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Try this code for Sharing!"); 
     shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "I'm trying to share data...."); 

     Intent chooserIntent = Intent.createChooser(shareIntent, "Share with"); 
     chooserIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     startActivity(chooserIntent); 
+0

你的代碼的工作比我在創造avalaible應用程序的功能更強大的列表更好。在你的版本中,我需要用'outputTextView.getText()'替換字符串「我試圖共享數據....」,我必須附加'.toString()'。我原來的代碼缺少'toString'調用。我的解決方案和我的解決方案都能達到我所說的目標。所以我正在接受你的答案。 –

+1

是的,你可以很容易地通過替換該行來做到這一點。很高興它可以幫助你..謝謝.. –

相關問題