wen742538485 发表于 2013-1-14 18:04:13

如何让service被管理器杀死后自动重启

做了个流量记录的程序,但是这个姑娘没有实现,也不知道怎么做,START_STICKY等FLAG不知道怎么用?
求帮助,谢谢大家,service主要代码如下
      @Override
      public IBinder onBind(Intent arg0) {
                // TODO Auto-generated method stub
                Log.v("TrafficService", "Bind");      
                state = BINLD;
                //使用线程,该线程不会被销毁
                return myBinder;
      }
      
      
      class TrafficBinder extends Binder {
                public float his = history;
                TrafficService getService(){
                        return TrafficService.this;
               }
      }
      
         @Override
         public void onCreate() {
               // TODO Auto-generated method stub
               receiver = new NetReceiver();
               IntentFilter nfilter=new IntentFilter();      
               nfilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
               this.registerReceiver(receiver, nfilter);
               dealBuffer();
               handler.post(createBrod);
               Log.v("TrafficService", "Create "+history+" "+todayTraffic+" "+tempTraffic);
               super.onCreate();
               
         }
         @Override
         public boolean onUnbind(Intent intent) {
               // TODO Auto-generated method stub
               state = UNBINLD;
               Log.v("TrafficService", "Unbind");
               return true;
         }
         
         @Override
         public void onRebind(Intent intent) {
               // TODO Auto-generated method stub
               Log.v("TrafficService", "Rebind");
               state = BINLD;;
               super.onRebind(intent);
               
         }
         
         @Override
      public void onDestroy() {
                // TODO Auto-generated method stub
               handler.removeCallbacks(updateBrod);
               momorybuffer();
               nManger.cancel(R.layout.notifi);
               unregisterReceiver(receiver);
               
               Log.v("TrafficService", "destroy "+history+" "+todayTraffic+" "+tempTraffic);
               super.onDestroy();
      }
         
      @Override
      public boolean stopService(Intent name) {
                // TODO Auto-generated method stub
                momorybuffer();
                nManger.cancel(R.layout.notifi);
                Log.v("TrafficService",name.getAction());
                Log.v("TrafficService", "stop "+history+" "+todayTraffic+" "+tempTraffic);
                return super.stopService(name);
      }

      
      
      @Override
      public int onStartCommand(Intent intent, int flags, int startId) {
                // TODO Auto-generated method stub
                Log.v("TrafficService","startCommand");
               
                flags =START_STICKY;
                return super.onStartCommand(intent, flags, startId);
//                returnSTART_REDELIVER_INTENT;
      }
页: [1]
查看完整版本: 如何让service被管理器杀死后自动重启