Вы можете сделать это прямо из настроек:
<Preference
android:key="contactDevKey"
android:title="Contact developer"
android:summary="Tell me all about your problems">
<intent android:action="android.intent.action.VIEW"
android:data="@string/contact_developer_uri"/>
</Preference>
Где @string/contact_developer_uri
:
<string name="contact_developer_uri">mailto:my@email.address</string>
Ограничением является отсутствие предопределенного субъекта / тела, которое возможно при использовании метода Java вместе с дополнительными функциями. Добавление extra
с к <intent>
с поддерживается с 4.0 Ice Cream Sandwich благодаря this commit (см. теги commit). Это побочный эффект от добавления дополнений для фрагментов. Таким образом, вы можете предоставить шаблон как Андрей , предложенный в комментариях:
<intent android:action="android.intent.action.VIEW"
android:data="@string/contact_developer_uri">
<extra android:name="android.intent.extra.TEXT"
android:value="What can I help you with?" />
<extra android:name="android.intent.extra.SUBJECT"
android:value="Feedback about World Changing App" />
</intent>
Использование ссылок на ресурсы рекомендуется, но не обязательно для data
и value
s.
К сожалению, вы не можете использовать Intent.ACTION_SEND
таким образом, потому что EXTRA_EMAIL
должен быть String[]
, и это не поддерживается как <extra android:value=
.