android startActivity来自intent in service

时间:2013-05-13 10:25:24

标签: android android-intent android-service

我尝试在服务中使用意图,但是当我尝试这个时:

Intent intent_facebook = new Intent (this,MainUploadToYoutube.class);
intent_facebook.putExtra("vid", vid);
startActivity(intent_facebook);

在logcat上出现此错误:

Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

所以我从这里尝试了这个:

android start activity from service

Intent  intent_facebook = new Intent(getBaseContext(), MainUploadToYoutube.class);
intent_facebook.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplication().startActivity( intent_facebook);

但这没有做任何事情,我没有在logcat中得到错误

什么错了?

3 个答案:

答案 0 :(得分:3)

您是否尝试过自己的代码(使用this作为上下文),但只是在错误告诉您时添加标记?

Intent intent_facebook = new Intent (this, MainUploadToYoutube.class);
intent_facebook.putExtra("vid", vid);
intent_facebook.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent_facebook);

答案 1 :(得分:0)

这可能会有所帮助

Service课程中,您获得context并使用Context初始化mContext

 Intent intent = new Intent(mContext,MainUploadToYoutube.class);   
 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
 ((Activity)mContext).startActivity(intent);

答案 2 :(得分:0)

您的代码没有任何问题。它应该工作。你的问题是别的。确保清单中定义了MainUploadToYoutube活动,并且一旦此活动被推出,应用程序可能不会崩溃。