Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何正确地从服务启动活动?_Android_Service_Android Activity - Fatal编程技术网

Android 如何正确地从服务启动活动?

Android 如何正确地从服务启动活动?,android,service,android-activity,Android,Service,Android Activity,我有一个活动,可以在用户按下按钮后启动服务。在这项服务中,我有一个计时器,每10秒运行一次。我想每隔10秒从这个服务运行另一个活动(谷歌地图)。 如果我将其投入使用,则会出现以下错误: 12-29 10:09:21.369: ERROR/AndroidRuntime(235): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires th

我有一个活动,可以在用户按下按钮后启动服务。在这项服务中,我有一个计时器,每10秒运行一次。我想每隔10秒从这个服务运行另一个活动(谷歌地图)。 如果我将其投入使用,则会出现以下错误:

12-29 10:09:21.369: ERROR/AndroidRuntime(235): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

我应该把代码放在哪里启动活动

正如错误消息所说,您需要在
意图中设置标志

    Intent intent = new Intent(MyService.this,MyActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);

正如错误消息所说,您需要在
Intent

    Intent intent = new Intent(MyService.this,MyActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);

为什么我需要将其置于新任务中?你不希望它通常属于同一个任务吗?为什么我需要把它放在一个新任务中?你不希望它通常属于同一个任务吗?