一、startService方式启动
第一次调用startService:onCreate——onStartCommand——onStart;
之后调用startService:onStartCommand——onStart;
调用stopService:onDestroy
二、bindService方式启动
第一次调用bindService:onCreate——onBind
多次调用bindService:无效,只能调用一次
调用unbindService:onUnbind——onDestroy
再次调用unbindService:报错退出,如下:
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: FATAL EXCEPTION: main
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: Process: com.winter.activitylife, PID: 1629303-03 13:50:51.017 16293- 16293/com.winter.activitylife E/AndroidRuntime: java.lang.IllegalArgumentException: Service not registered: com.winter.activitylife.MainActivity$1@13f07343
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1031)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at android.app.ContextImpl.unbindService(ContextImpl.java:1817)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at android.content.ContextWrapper.unbindService(ContextWrapper.java:551)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at com.winter.activitylife.MainActivity.onClick( MainActivity.java:102 )
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at android.view.View.performClick(View.java:4783)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at android.view.View$PerformClick.run(View.java:19887)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at android.os.Looper.loop(Looper.java:135)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5283)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:372)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at android.view.View$PerformClick.run(View.java:19887)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at android.os.Looper.loop(Looper.java:135)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5283)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:372)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
03-03 13:50:51.017 16293-16293/com.winter.activitylife E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
三、两种启动方式一起用
1.startService——onCreate