Android - отправка электронной почты из приложения происходит сбой электронной почты - принудительное закрытие - PullRequest
1 голос
/ 31 августа 2011

У меня есть приложение, которое запускает электронную почту из Javascript через Java, которая затем прикрепляет файл.

Я получаю список, в котором в качестве моих опций выбраны «Электронная почта» или «Gmail».

Если я выберу Gmail, то клиент Gmail откроется как исключение с темой, телом и вложением.

Но если я выберу Электронная почта, я получу: «Электронная почта приложения (процесс com.google.android.email) неожиданно остановилась. Принудительно закройте» Мне нужно это использовать корпоративную электронную почту, так что это не хорошо.

Журнал показывает: «Причина: java.lang.illegalArgumentException»

Есть идеи, почему это происходит?

Вот мой код:

MainActivity:

public class MainActivity extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.setIntegerProperty( "splashscreen", R.drawable.splash );
    super.loadUrl("file:///android_asset/www/index.html", 1000);
    JavaScriptInterface jsi = new JavaScriptInterface(this, appView);
    appView.addJavascriptInterface(jsi, "Android");
    }
} 

JavaScriptInterface

public class JavaScriptInterface {
private WebView mAppView;
private DroidGap mGap;
public JavaScriptInterface (DroidGap gap, WebView view)
{
    mAppView = view;
    mGap = gap;
    }
public void doEmail(){

    Intent sendIntent = new Intent(Intent.ACTION_SEND);
    sendIntent.setType("text/html");
    sendIntent.putExtra(android.content.Intent.EXTRA_TEXT,"test text");
    sendIntent.putExtra(Intent.EXTRA_SUBJECT,"test subject");
    sendIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    sendIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse("sdcard/test co.html"));
    mGap.startActivity(Intent.createChooser(sendIntent, "Send email..."));
    }
} 

1 Ответ

3 голосов
/ 31 августа 2011

Вам нужно поставить "file: //" перед вашим именем файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...