我的 android 应用程序中有一个“联系我们” Activity 。单击联系人号码后,我想将联系人号码复制到拨号器,以便用户可以调用该号码。同样,在单击电子邮件时,我希望用户转到他的邮件,并将该电子邮件地址复制到“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>
最佳答案
我在这种情况下使用这段代码:
TextView tv = (TextView)findViewById(R.id.text);
tv.setText(Html.fromHtml(getString(R.string.call_us)));
tv.setMovementMethod(LinkMovementMethod.getInstance());
最后一行为您执行点击逻辑。因此,当您单击该链接时,奇迹就会发生。
您还需要向 url 添加架构:
<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:
,您的链接就可以工作了。
关于android - 链接以从 xml 字符串资源中的 android 应用程序发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33709818/