【问题标题】:Android Service Starting A activity in its own processAndroid 服务在自己的进程中启动一个活动
【发布时间】:2018-02-27 15:14:37
【问题描述】:

如果Android服务在自己的进程中运行,说“STACKPR”,并且这个服务将启动一个新的活动,这个活动默认是“STACKPR”进程的一部分还是它的应用程序进程的一部分?

我尝试了以下方法,但它是在应用程序过程中开始的。

// in on start
Intent sIntent = new Intent(this, BasicActivity.class);
sIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(sIntent);

如果它不是服务进程的一部分,如何启动在该服务进程中运行的活动?

【问题讨论】:

标签: android process


【解决方案1】:

默认情况下,所有应用程序组件(活动、服务等)都在单个进程中运行。

Intent.FLAG_ACTIVITY_NEW_TASK 标志将为该 Activity 创建一个新的任务堆栈。当您按下“最近”按钮时,将新任务堆栈视为一个单独的条目。不过,它们都在同一个进程中。

要让您的服务或任何应用程序组件在不同的进程中运行,请使用android:process="<unique string>"。但是,这是推荐的,您通常可以使用线程模型实现相同的结果。

更多信息请看这里:https://developer.android.com/guide/components/processes-and-threads.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 2023-03-28
    • 2012-02-02
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多