zoukankan      html  css  js  c++  java
  • 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);
        	}
        }
    
    }
    
  • 相关阅读:
    C#基础
    自动化测试
    C# 数据结构题目
    .NET基础知识
    Sharepoint题目
    题目总结2
    数据库索引
    题目总结(2014-1-10)
    Stack详解
    SpringBoot入门基础知识点
  • 原文地址:https://www.cnblogs.com/wcs233/p/2010797.html
Copyright © 2011-2022 走看看