我有一个应用程序启动了几个Intent来发送电子邮件,短信等。在Android 4.0.4及更早版本中,所有设备似乎运行良好,但是在Android 4.1及更高版本中,应用程序崩溃,并且没有发送任何异常logcat。我可以在4.1模拟器中重现这一点。例如,以下是我用来发送电子邮件的代码。
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, email.getSubject());
emailIntent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(email.getContent()));
emailIntent.putExtra(Intent.EXTRA_EMAIL, getRecipients(email.getTo()));
emailIntent.setType("text/html");
this.startActivityForResult(Intent.createChooser(emailIntent, "Choose Application"),1);
答案 0 :(得分:0)
这是因为您无法从较新版本的android中的任何UI活动进行网络操作。 Folow this链接使其正常工作。
private class LongOperation extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, email.getSubject());
emailIntent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(email.getContent()));
emailIntent.putExtra(Intent.EXTRA_EMAIL, getRecipients(email.getTo()));
emailIntent.setType("text/html");
this.startActivityForResult(Intent.createChooser(emailIntent, "Choose Application"),1);
}
return "Executed";
}
@Override
protected void onPostExecute(String result) {
}
@Override
protected void onPreExecute() {
}
@Override
protected void onProgressUpdate(Void... values) {
}
}