android监控sim卡有没有服务示例(sim卡管理)_安卓软件开发教程-查字典教程网
android监控sim卡有没有服务示例(sim卡管理)
android监控sim卡有没有服务示例(sim卡管理)
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:publicclassUniteqService{publicstaticfinalStringLOG_TAG="Unit...

复制代码 代码如下:

public class UniteqService {

public static final String LOG_TAG = "UniteqService";

public boolean DEBUG = true;

private boolean hasService = false;//是否有服务

private PhoneStateListener[] mPhoneStateListener;//监听双卡

private TelephonyManager mPhone;

//监听类

private PhoneStateListener getPhoneStateListener(final int sub) {

PhoneStateListener sPhoneStateListener = new PhoneStateListener(sub) {

@Override

public void onServiceStateChanged(ServiceState serviceState) {

// TODO Auto-generated method stub

if (serviceState != null) {

if (serviceState.getState() == ServiceState.STATE_IN_SERVICE) {

hasService = true;

} else {

hasService = false;

}

} else {

if (DEBUG) Log.d(TAG, "no service state...may be the balance is not enough" + sub);

}

super.onServiceStateChanged(serviceState);

}

};

return sPhoneStateListener;

}

//注册监听

private void registerPhoneListener() {

//获取卡号数,MSimTelephonyManager 这个类API没有开放,可以通过编译源码

//得到frameworks.jar包并导入你的工程, 然后import android.telephony.MSimTelephonyManager;

mSub = MSimTelephonyManager.getDefault().getPhoneCount();

mPhoneStateListener = new PhoneStateListener[mSub];

for (int i = 0; i < mSub; i++) {

mPhoneStateListener[i] = getPhoneStateListener(i);

mPhone.listen(mPhoneStateListener[i], PhoneStateListener.LISTEN_SERVICE_STATE);

}

}

//取消监听

private void unregisterPhoneListener() {

mSub = MSimTelephonyManager.getDefault().getPhoneCount();

for (int i = 0; i < mSub; i++) {

if(mPhoneStateListener[i] != null){

mPhone.listen(mPhoneStateListener[i], PhoneStateListener.LISTEN_NONE);

}

}

}

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新安卓软件开发学习
    热门安卓软件开发学习
    编程开发子分类