链接从xml字符串资源中的Android应用程序发送电子邮件

时间:2015-11-14 15:11:15

标签: android xml string email contact

ScreenShot

我有一个"联系我们"在我的Android应用程序中的活动在单击联系人号码时,我想将联系人号码复制到拨号器,以便用户可以拨打该号码。同样,在点击电子邮件时,我希望用户转到他的邮件,并将该电子邮件地址复制到" sendto"领域。通过将该联系号码和电子邮件放在strings.xml资源文件中,是否可以静态地进行?我试过这个: -

<string name="call_us">Call us at <a href="+91 1234567890">+91 1234567890</a></string>
<string name="email_us">Email us at <a href="abc@gmail.com">abc@gmail.com</a></string>

但是,它没有用。

<LinearLayout
    style="@style/StyleHorizontalLinearLayout">

    <ImageView
        style="@style/StyleSmallIcon"
        android:src="@drawable/icon_call"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:textSize="16dp"
        android:text="@string/call_us"/>

</LinearLayout>

1 个答案:

答案 0 :(得分:8)

我在这种情况下用这个代码:

TextView tv = (TextView)findViewById(R.id.text);
tv.setText(Html.fromHtml(getString(R.string.call_us)));
tv.setMovementMethod(LinkMovementMethod.getInstance());

最后一行为您点击逻辑。因此,当您点击该链接时,就会发生魔力。

您还需要向网址添加架构:

<string name="call_us">Call us at <a href="tel:+911234567890">+91 1234567890</a></string>
<string name="email_us">Email us at <a href="mailto:abc@gmail.com">abc@gmail.com</a></string>

使用tel:mailto:您的链接即可。