• Android服务监控


    上次我写过一个关于Android服务检测的,结果那段代码是错误的,根本不能实现,我现在重新发一段正确的。
    这次我把检测写成一个服务(Service),使用时在Activity里面调用就行了。

    import android.app.Service;
    import android.content.Context;
    import android.content.Intent;
    import android.os.IBinder;
    import android.telephony.PhoneStateListener;
    import android.telephony.ServiceState;
    import android.telephony.TelephonyManager;
    
    public class GsmStateService extends Service {
    	
    	exPhoneStateListener psl=new exPhoneStateListener();
    	
    	private int ib_state;
    	
    	@Override
    	public void onCreate()
    	{
    		//取得电话服务
    		TelephonyManager tm=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
    		//注册listener
    		tm.listen(psl, PhoneStateListener.LISTEN_SERVICE_STATE);
    		System.out.println("test");
    	}
    	@Override
    	public IBinder onBind(Intent arg0) {
    		// TODO Auto-generated method stub
    		return null;
    	}
    	
    	public class exPhoneStateListener extends PhoneStateListener
        {	
        	public void onServiceStateChanged(ServiceState ss)
        	{
        		super.onServiceStateChanged(ss);
        		int state;
        		state=ss.getState();
        		
        		switch(state)
                {
                case ServiceState.STATE_IN_SERVICE:
                	ib_state=1;
                	break;
                case ServiceState.STATE_OUT_OF_SERVICE:
                	ib_state=0;
                	break;
                }
        		Intent i=new Intent("SERVICE_STATE");
        		i.putExtra("STATE", ib_state);
        		sendBroadcast(i);
        	}
        }
    
    }
    
  • 相关阅读:
    第02组 Beta冲刺 总结
    第02组 Beta冲刺 (5/5)
    第02组 Beta冲刺 (4/5)
    第02组 Beta冲刺 (3/5)
    第02组 Beta冲刺 (2/5)
    第02组 Beta冲刺 (1/5)
    关于IE6中做兼容的那点事。
    一个ajax同步与异步引发的血案。
    浅谈Jquery中的bind(),live(),delegate(),on()绑定事件方式
    浅谈Dictionary用法
  • 原文地址:https://www.cnblogs.com/wcs233/p/2010797.html
Copyright © 2020-2023  润新知