2012-10-18 68 views
0
<TextView 
    android:id="@+id/TextView03" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/header" 
    android:layout_alignLeft="@+id/button1" 
    android:layout_marginBottom="127dp" 
    android:text="@string/email" 
    android:textColor="#000000" 
    android:textSize="12dp" 
    android:typeface="sans" /> 

我有一個包含我的電子郵件信息的測試視圖。如何在點擊消息時打開默認的電子郵件客戶端。Android:單擊標籤打開電子郵件應用程序

<string name="email">E-mail:[email protected]</string> 

這是我的覆蓋方法。

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    TextView t2 = (TextView) findViewById(R.id.TextView03); 
      email.setOnClickListener(new View.OnClickListener() { 

       public void onClick(View v) { 
        // TODO Auto-generated method stub     
       } 

      }); 
} 

我應該從這裏做什麼?

回答

3
Intent sendIntent = new Intent(Intent.ACTION_VIEW); 
sendIntent.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail"); 
sendIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { "[email protected]" }); 
sendIntent.setData(Uri.parse("[email protected]")); 
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "enter subject"); 
sendIntent.setType("plain/text"); 
sendIntent.putExtra(Intent.EXTRA_TEXT, "Insert text"); 
startActivity(sendIntent); 
+0

如何將我的文本的值轉換爲無硬編碼 – theJava

+0

t2.getText()。toString(); –

+0

我們是否必須將此活動添加到清單? –

4
Intent i= new Intent(android.content.Intent.ACTION_SEND); 
i.setType("plain/text"); 
i.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 
i.putExtra(android.content.Intent.EXTRA_SUBJECT, mySubject); 
i.putExtra(android.content.Intent.EXTRA_TEXT, myBodyText); 
context.startActivity(Intent.createChooser(i, "Send mail...)); 
2

試試這個代碼:

Intent sendIntent = new Intent(Intent.ACTION_VIEW); 
sendIntent.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail"); 
sendIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { "[email protected]" }); 
sendIntent.setData(Uri.parse("[email protected]")); 
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
sendIntent.setType("plain/text"); 
sendIntent.putExtra(Intent.EXTRA_TEXT, "Insert text"); 
startActivity(sendIntent); 
1

不要忘記設置文本到Android:可點擊: 「真正的」

+0

它是做什麼的。 – theJava

+0

它使文本可點擊和集中的動作觸摸 –

2

只需使用Linkify在你的TextView,

TextView t2 = (TextView) findViewById(R.id.TextView03); 
t2.setText("E-mail:[email protected]"); 
Linkify.addLinks(t2, Linkify.EMAIL_ADDRESSES); 

爲此,您的文字視圖會將此電子郵件地址顯示爲超鏈接您可以在其上單擊並選擇相應的提供商以在給定的電子郵件地址上發送電子郵件。

3

我知道它很晚了,但只是想分享一些我發現更容易的東西!如果你是在一個TextView顯示電子郵件,然後使用:

<TextView 
... 
android:text="Email: [email protected]" 
android:autoLink="email" 
/> 

這會自動將打開首選的電子郵件應用程序的用戶手機上的「要」與上述電子郵件ID預先填寫地址。

+0

最佳答案我發現!謝謝! – fabricio

相關問題