【发布时间】:2017-01-13 01:07:29
【问题描述】:
我正在尝试从我的应用程序中打开电子邮件应用程序并收到错误消息。
Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag.
问题是,我设置了 FLAG_ACTIVITY_NEW_TASK。 我也尝试过 addFlags
这是我的代码:
private void mailTo(String mail) {
Intent i = new Intent(Intent.ACTION_SEND).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_EMAIL , new String[]{mail});
try {
context.startActivity(Intent.createChooser(i, ""));
} catch (ActivityNotFoundException ex) {
Toast.makeText(context, ex.getMessage(), Toast.LENGTH_LONG).show();
}
}
我必须注意,在同一个课程中,我有更多有效的 Intent Actions。
private void callTo(String number) {
Intent callIntent = new Intent(Intent.ACTION_CALL).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
callIntent.setData(Uri.parse("tel:" + number));
context.startActivity(callIntent);
}
还有:
private void smsTo(String phoneNumber) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" + phoneNumber)).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
【问题讨论】:
-
在我看到你的帖子之前,我在其他地方找到了答案,
标签: android listview android-intent