我看到很多关于从服务启动活动的问题,但我不确定如何从活动中启动服务。
我希望在asynctask中发生这种情况
用户加载活动时,会完成一些阻止后台处理,并启动服务。
此服务在更深层次的背景中有自己的逻辑,可以通过对可视化活动中的变量进行更改来修改
如何做到这一点?我已经阅读了一些教程,但仍然没有找到它直观
答案 0 :(得分:2)
只需使用startService()
,意图引用您的服务。没什么特别的。如果需要传递参数,可以在Intent的附加内容中设置它们。参看http://developer.android.com/reference/android/content/Context.html#startService(android.content.Intent)
答案 1 :(得分:0)
仅使用以下代码即可启动服务。
Intent intent = new Intent(MainActivity.this,MyService.class);
startService(intent);
根据您的问题和我的理解
来自Activity的简单启动服务,或者您可以以相同的方式从异步任务中启动。 根据您的流程,我只提供示例代码
MainActivity.java
MyAsyncTask myTask = new MyAsyncTask(this);
myTask.execute();
ASYNC任务 doInBackground()的goto方法,您可以使用intent启动服务。
Intent intent = new Intent(MainActivity.this,MyService.class);
startService(intent);
现在,您想更新MainActivity.java,然后可以使用界面,也可以根据需要通过输入 putExtra()方法之类的值来启动Activity(intent) 。但我建议您使用界面从服务中更新您的活动。