【发布时间】:2015-05-19 10:42:06
【问题描述】:
我想启动一个与客户发送电子邮件的意图。但是context.startActivity 在图书馆项目中不起作用。你能帮助我吗?谢谢
public class email {
private Context context;
public email(Context context) {
this.context = context;
}
public void send(String to, String subject, String body) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("message/rfc822");
intent.putExtra(Intent.EXTRA_EMAIL, to);
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, body);
try {
context.startActivity(Intent.createChooser(intent, "sending..."));
}
catch (ActivityNotFoundException e) {
}
}
好的。 Logcat 说:
java.lang.RuntimeException:无法启动 Activity ComponentInfo{com.example.test.MainActivity}:android.util.AndroidRuntimeException:从 Activity 上下文外部调用 startActivity() 需要 FLAG_ACTIVITY_NEW_TASK 标志。这真的是你想要的吗?
【问题讨论】:
-
请添加更多信息,例如您的代码,以及您收到的哪些错误消息导致您认为它“不起作用”。
-
好的,也许 ActivityNotFound 符合您的意图。完美。
-
在主要活动中有效,但在库中无效。
-
"但是 context.startActivity 在库项目中不起作用" -- 是的,如果
context是有效的Context,它会起作用。但是,您没有费心解释“不起作用”是什么意思。如果您收到ActivityNotFoundException,则无需费心将任何内容记录到 LogCat。您没有费心向我们展示您是如何尝试使用这个emailJava 类的。这不是a minimal, complete, verifiable example,所以任何人都很难帮助你。
标签: android android-intent android-library