【完全解決シリーズ】Activity context requires the FLAG_ACTIVITY_NEW_TASK flag


サービスでActivityを起動すると、次のようにエラーが表示されます.
Intent intent = new Intent(MyService.this, Main2Activity.class); startActivity(intent);
                                                                           android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
                                                                               at android.app.ContextImpl.startActivity(ContextImpl.java:672)
                                                                               at android.app.ContextImpl.startActivity(ContextImpl.java:659)
                                                                               at android.content.ContextWrapper.startActivity(ContextWrapper.java:331)
                                                                               at realmusic.ace.com.myapplication.MyService$1.run(MyService.java:32)
                                                                               at android.os.Handler.handleCallback(Handler.java:739)
                                                                               at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                               at android.os.Looper.loop(Looper.java:148)
                                                                               at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                               at java.lang.reflect.Method.invoke(Native Method)
                                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

エラーメッセージの提示によりFLAG_を追加ACTIVITY_NEW_TASK flagは、問題を解決することができます.解決方法:
ntent intent = new Intent(MyService.this, Main2Activity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK ); startActivity(intent);