Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Mailto: enlaces no compatibles en Android?

No tengo un dispositivo Android real, así que estoy usando emuladores para todo mi desarrollo por ahora, son mailto: enlaces web realmente no compatible con dispositivos Android 2.1 y siguientes? 2.2 funciona, pero cada vez que hago clic en un mailto: enlace en 1.6 o 2.1, incluso, me dan un diálogo [acción no compatible]. ¿Alguien con un dispositivo real quiere probar esto?

    2 Solutions collect form web for “Mailto: enlaces no compatibles en Android?”

    Tienes que manejarlo tú mismo en un WebViewClient

     public class MyWebViewClient extends WebViewClient { Activity mContext; public MyWebViewClient(Activity context){ this.mContext = context; } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if(url.startsWith("mailto:")){ MailTo mt = MailTo.parse(url); Intent i = new Intent(Intent.ACTION_SEND); i.setType("text/plain"); i.putExtra(Intent.EXTRA_EMAIL, new String[]{mt.getTo()}); i.putExtra(Intent.EXTRA_SUBJECT, mt.getSubject()); i.putExtra(Intent.EXTRA_CC, mt.getCc()); i.putExtra(Intent.EXTRA_TEXT, mt.getBody()); mContext.startActivity(i); view.reload(); return true; } view.loadUrl(url); return true; } } 

    En tu actividad guardas una referencia a MyWebViewClient y la asignas a tu webview con setWebViewClient(mWebClient) .

    Una manera más sencilla sería:

     if(url.startsWith("mailto:")){ Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME); view.getContext().startActivity(intent); } 
      FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.