Mailto de preferencias xml posible?

Estoy tratando de construir las preferencias para mi aplicación y esperaba hacer un "contacto con el desarrollador" zona donde cuando se hace clic en, se abrirá un correo electrónico dirigido a mí. ¿Es posible hacerlo desde el archivo xml solo o necesito hacer cosas en la clase principal?

Busqué aquí un poco pero no vi nada acerca de hacerlo desde XML, así que tal vez eso no es posible? Pensé que lanzaría esta pregunta allí.

¡Gracias!

EDIT: Así es como realmente lo conseguí trabajar para cualquier persona en el futuro buscando algún código:

import android.content.Intent; import android.os.Bundle; import android.preference.Preference; import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceActivity; public class Prefs extends PreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.layout.prefs); Preference mailTo = (Preference) findPreference("mailTo"); mailTo.setOnPreferenceClickListener(new OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { // Preferences Intent mailto = new Intent(Intent.ACTION_SEND); mailto.setType("message/rfc822") ; // use from live device mailto.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); mailto.putExtra(Intent.EXTRA_SUBJECT,"Subject Here"); mailto.putExtra(Intent.EXTRA_TEXT,"Body Here"); startActivity(Intent.createChooser(mailto, "Select email application.")); return true; } }); } 

}

No es posible desde xml. Sin embargo, no es un montón de trabajo debido a la forma en que funciona el android. Lo único que hay que hacer es enviar una intención que notifique al sistema que desea enviar un correo electrónico, con los detalles que proporcione. Las aplicaciones que sean capaces de hacer esto responderán a esta intención y se encargarán del resto para usted. Consulte http://snipplr.com/view/19973/send-email-from-android-using-intent/

Puede hacerlo directamente desde las preferencias:

 <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> 

Donde @string/contact_developer_uri es:

 <string name="contact_developer_uri">mailto:[email protected]</string> 

La limitación no es un sujeto / cuerpo predefinido que sea posible utilizando el método Java, junto con extras. La adición de s extra a <intent> s es compatible desde 4.0 Ice Cream Sandwich gracias a este commit (ver etiquetas commit). Es un efecto secundario de permitir extras para fragmentos. Así que usted puede proporcionar una plantilla como Andrew sugirió en los comentarios:

 <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> 

Se recomienda el uso de referencias de recursos, pero no es necesario para los data y el value s.

Lamentablemente, no puedes usar Intent.ACTION_SEND esta manera, porque EXTRA_EMAIL necesita ser una String[] y eso no es compatible como <extra android:value= .

  • Uso de preferencias no predeterminadas en PreferenceActivity
  • ¿Cuál es el nombre de archivo utilizado por defecto las preferencias compartidas?
  • Obtener preferencias en AppWidget Provider
  • ¿Cómo editar / restablecer Alarm Manager?
  • Cómo borrar las viejas preferencias al actualizar la aplicación de Android?
  • Cómo establecer el resumen de preferencias edittext y hacer que se pegue
  • ¿Es seguro guardar los tokens de acceso / actualización de Oauth2 en las Preferencias compartidas de Android?
  • Android: ¿Cómo navegar de nuevo desde la sub-pantalla de preferencia a través de la barra de acción en xml?
  • Cómo vincular el archivo de preferencias automáticas a las preferencias personalizadas en android
  • PreferenciaActividad: guardar valor como entero
  • Pantalla de Preferencias de Android sin XML
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.