【发布时间】:2015-01-18 11:33:49
【问题描述】:
我有一个服务类。我需要通过 Facebook、whatsapp、gmail、yahoo 等分享我的一些详细信息。但是当我尝试分享意图时出现错误
android.util.AndroidRuntimeException: 调用 startActivity() 从 在 Activity 上下文之外需要 FLAG_ACTIVITY_NEW_TASK 旗帜。这真的是你想要的吗?
下面是我的代码
shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
startActivity(Intent.createChooser(shareIntent,"Share via"));
shareIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Log.e("clicked","clicked>>>>>>share");
请给我一个解决方案
【问题讨论】:
-
从
Service调用startActivity()是一种明显的代码异味。你为什么要这样做? -
@CommonsWare 我必须在 gmail、Facebook 等上分享一些测试。所以在服务类上有一个布局。当我点击分享按钮时,我需要显示应用程序列表。\
-
@DamianJeżewski:我不想开始新活动。我只想显示分享选项(通过 Facebook、gmail、雅虎等分享)
-
@Debugger 我完全知道您想要实现什么。问题是链接的问题包含您的问题的答案以及一些额外的信息来解释幕后发生的事情。
标签: android android-intent service share