博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Service 中的 onStart 和 onStartCommand
阅读量:5328 次
发布时间:2019-06-14

本文共 1882 字,大约阅读时间需要 6 分钟。

在自定义的service中,写了onStart和onStartCommand,

public class HttpWebService extends Service {
 

@Override

public void onCreate() {
super.onCreate();

 

....@Override    public void onStart(Intent intent, int startId) {        // this will trigger AbstractBackgroundService.onStart()        super.onStart(intent, startId);        Log.d(LOG_TAG, "onStart" + intent);     }    @Override    public int onStartCommand(Intent intent, int flags, int startId) {        int retVal = super.onStartCommand(intent, flags, startId);        Log.d(LOG_TAG, "onStartCommand" + intent);         return retVal;    }}

 

如果用 bindService 这种方式调用,onStart和onStartCommand都不会被调用到

this.bindService(new Intent(this, HttpWebService.class),         new ServiceConnection() {                 @Override         public void onServiceConnected(ComponentName name,         IBinder service) {        HttpWebService webService = ((HttpWebService.LocalBinder) service)         .getService();         webService.SetServerListener(webListener);         }                 @Override         public void onServiceDisconnected(ComponentName name) {                 }         }, Context.BIND_AUTO_CREATE);

如果是用StartService调用,两个都被调用到

Intent intent = new Intent("com.example.sharefiles.services.ShareServices.Test");        intent.setClass(getApplicationContext(), HttpWebService.class);                    intent.putExtra("enable", true);            this.startService(intent);

 

查看google 文档

http://developer.android.com/reference/android/app/Service.html 

( intent, int startId)

This method was deprecated in API level 5. Implement  instead.

( intent, int flags, int startId)

Called by the system every time a client explicitly starts the service by calling 
, providing the arguments it supplied and a unique integer token representing the start request.

鉴于目前的代码基本都是运行在API5 以上的,所以直接干掉onStart.

转载于:https://www.cnblogs.com/xiaokang088/p/4191814.html

你可能感兴趣的文章
简单工厂模式
查看>>
Delphi7编译的程序自动中Win32.Induc.a病毒的解决办法
查看>>
Objective-C 【关于导入类(@class 和 #import的区别)】
查看>>
倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-点击运行按钮进入到运行状态报错Error starting TwinCAT System怎么办 AdsWarning1823怎么办...
查看>>
【转】javascript 中的很多有用的东西
查看>>
Centos7.2正常启动关闭CDH5.16.1
查看>>
Android 监听返回键、HOME键
查看>>
Android ContentProvider的实现
查看>>
sqlserver 各种判断是否存在(表名、函数、存储过程等)
查看>>
给C#学习者的建议 - CLR Via C# 读后感
查看>>
Recover Binary Search Tree
查看>>
Java 实践:生产者与消费者
查看>>
[转]IOCP--Socket IO模型终结篇
查看>>
js 获取视频的第一帧
查看>>
各种正则验证
查看>>
观察者模式(Observer)
查看>>
python中numpy.r_和numpy.c_
查看>>
egret3D与2D混合开发,画布尺寸不一致的问题
查看>>
freebsd 实现 tab 命令 补全 命令 提示
查看>>
struts1和struts2的区别
查看>>