Activity 完成且服务仍在运行后的 Android 上下文

Posted

技术标签:

【中文标题】Activity 完成且服务仍在运行后的 Android 上下文【英文标题】:Android Context after Activity is finished and Services are still running 【发布时间】:2014-03-18 04:59:38 【问题描述】:

我的 Activity 启动服务并完成(而服务仍在后台运行)。活动结束后服务有什么上下文?

我只需要运行服务。事实上,我不需要任何活动 - 它仅用于启动服务。

public class MainActivity extends Activity 

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);

        if (!BootDemoService.isInstanceCreated()) 
            Intent serviceIntent = new Intent(this, BootDemoService.class);
            startService(serviceIntent);
        

        this.finish();
    

    @Override
    public boolean onCreateOptionsMenu(Menu menu) 
        return true;
    


【问题讨论】:

“活动完成后服务有什么上下文”是什么意思?该服务有自己的Context,这不会因为一些Activity 消失而改变。 【参考方案1】:

在你的情况下,相同的上下文应该是 ApplicationContext。

http://developer.android.com/reference/android/content/Context.html#getApplicationContext() http://developer.android.com/reference/android/content/ContextWrapper.html#getApplicationContext()

【讨论】:

以上是关于Activity 完成且服务仍在运行后的 Android 上下文的主要内容,如果未能解决你的问题,请参考以下文章

20.1安卓的服务Service开启关闭方法

查询完成后仍在运行

Android核心组件 Activity组件

主 Activity 完成后如何从服务中显示 Toast?

有没有办法检查子进程是不是仍在运行?

windows服务仍在运行但任务没有连续执行