2014-10-31 2 views
1

Просто хочу начать, сказав, что я не являюсь разработчиком Java или чем-то вроде Android-разработчика. Ссылки, которые я нашел на SO для решения моей проблемы, не относятся к WL, и я не уверен, где разместить «решения» в сборке.Открытие mailto: ссылки с webview

, чтобы начать это я получил простую ссылку по электронной почте:

<a href="mailto:[email protected]"></a> 

В Android (4.0.4) приложение будет врезаться сказать, что это не поддерживается протоколом. Этого ожидает многое.

Одно из решений, которое у меня есть (ниже, от SO, потеряло ссылку), похоже на правильный путь, но я не уверен, куда это должно идти.

@Override 
public boolean shouldOverrideUrlLoading(WebViewClient view, String url) { 
    if(url.startsWith("http:") || url.startsWith("https:")) { 
     return false; 
    } 

    // Otherwise allow the OS to handle it 
    else if (url.startsWith("tel:")) { 
     Intent tel = new Intent(Intent.ACTION_DIAL, Uri.parse(url)); 
     startActivity(tel); 
     return true; 
    } 
    else if (url.startsWith("mailto:")) { 
     String body = "Enter your Question, Enquiry or Feedback below:\n\n"; 
     Intent mail = new Intent(Intent.ACTION_SEND); 
     mail.setType("application/octet-stream"); 
     mail.putExtra(Intent.EXTRA_EMAIL, new String[]{"email address"}); 
     mail.putExtra(Intent.EXTRA_SUBJECT, "Subject"); 
     mail.putExtra(Intent.EXTRA_TEXT, body); 
     startActivity(mail); 
     return true; 
     } 
    return true; 
} 

Любая помощь, очевидно, оценивается!

ответ

0

В гибридном приложении Worklight вам не требуется использовать собственный код, чтобы использовать такие функции, как mailto:.

Чтобы заставить его работать, то есть щелкнуть ссылку, которая откроет экран электронной почты для пользователя, чтобы заполнить тему и сообщение, вы можете следовать ниже. Если вам нужны большие функциональные возможности, более подробную информацию о ней в своем вопросе:

  1. Убедитесь, что вы используете последний Ifix для версии Worklight, которую вы используете (due to recently fixed Cordova security bugs that affect this functionality). Это можно получить либо из Eclipse Marketplace, либо из IBM Fix Central.

  2. Выполните следующие действия:

    • В родной \ Рез \ XML \ config.xml, удалите и добавьте следующие строки:

      - <access origin="*"/> 
      + <access origin="mailto://*" launch-external="true" /> 
      
    • В Common \ index.html I тогда пытались с:

      <a href="mailto:[email protected]?Subject=Hello%20again">Send email</a> 
      

Результат был (в зависимости от настройки вашего телефона): либо получить возможность настроить учетную запись электронной почты, выбрать, из какой учетной записи отправлять почту, или получить экран компоновки электронной почты.

+0

Файл config.xml - это то, что он сделал. Я не знал, что мне нужно изменить, чтобы позволить mailto: обрабатываться, и все мои поисковые запросы только включали ответы, не связанные с работой, поэтому java переопределяет мой вопрос. Спасибо за быстрое решение. – sammich

Смежные вопросы