Android-startService后台运行
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android-startService后台运行,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2054字,纯文字阅读大概需要3分钟。
内容图文
什么时候使用startService?
答:APP在后台长时间运行并执行业务的时候,可以用服务,主要是看服务的特点(在后台长时间运行);
Service相关代码:
package liudeli.service1.service; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.util.Log; public class MyService4 extends Service { privatefinalstatic String TAG = MyService4.class.getSimpleName(); privatefinalstaticint RUN = 1; privatefinalstaticint NOT_RUN = 0; privateint runState; @Override public IBinder onBind(Intent intent) { returnnull; } @Override publicvoid onStart(Intent intent, int startId) { super.onStart(intent, startId); } @Override publicint onStartCommand(Intent intent, int flags, int startId) { runState = RUN; new Thread(new BackgroundRun()).start(); returnsuper.onStartCommand(intent, flags, startId); } @Override publicvoid onDestroy() { super.onDestroy(); runState = NOT_RUN; } /** * startService 不能直接执行耗时操作,需要通过异步去执行耗时操作,Service只负责长时间到在后台服务运行 * Service是开启主线程的,Service与Activity很类似,都是开启运行主线程的 */class BackgroundRun implements Runnable { @Override publicvoid run() { while (runState == RUN) { Log.d(TAG, "Background Run ......"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } } }
MainActivity4相关代码:
public void startService(View view) { startService( new Intent(this, MyService4.class)); } publicvoid stopService(View view) { stopService(new Intent(this, MyService4.class)); }
Log日志,Service去启动线程一秒执行一次:
12-06 22:54:07.489 8204-8301/liudeli.service1 D/MyService4: Background Run ......
12-06 22:54:08.490 8204-8301/liudeli.service1 D/MyService4: Background Run ......
12-06 22:54:09.495 8204-8301/liudeli.service1 D/MyService4: Background Run ......
12-06 22:54:10.500 8204-8301/liudeli.service1 D/MyService4: Background Run ......
12-06 22:54:11.507 8204-8301/liudeli.service1 D/MyService4: Background Run ......
12-06 22:54:12.508 8204-8301/liudeli.service1 D/MyService4: Background Run ......
12-06 22:54:13.509 8204-8301/liudeli.service1 D/MyService4: Background Run ......
原文:https://www.cnblogs.com/android-deli/p/10082321.html
内容总结
以上是互联网集市为您收集整理的Android-startService后台运行全部内容,希望文章能够帮你解决Android-startService后台运行所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。