zoukankan      html  css  js  c++  java
  • TelephonyUtil

    package com.android.demo.lileidemo.utils;

    import android.Manifest;
    import android.content.Context;
    import android.content.pm.PackageManager;
    import android.support.v4.app.ActivityCompat;
    import android.telephony.TelephonyManager;

    import com.android.demo.lileidemo.MyApplication;
    import com.android.demo.lileidemo.constant.AppConstants;
    import com.ford.sync.basics.utils.LogUtil;

    /**
    * date: 03/26/2020.
    * author: lilei.
    */
    public class TelephonyUtil {
    private static final String TAG = AppConstants.APP_TAG + "TelephonyUtil ";
    private Context mContext;
    private static volatile TelephonyUtil mInstance;
    private TelephonyManager mTelephonyManager;

    public TelephonyUtil() {
    mContext = MyApplication.getAppContext();
    mTelephonyManager = (TelephonyManager)
    mContext.getSystemService(Context.TELEPHONY_SERVICE);
    }

    /**
    * get Instance.
    *
    * @return instance.
    */
    public static TelephonyUtil getInstance() {
    if (mInstance == null) {
    synchronized (TelephonyUtil.class) {
    if (mInstance == null) {
    mInstance = new TelephonyUtil();
    }
    }
    }
    return mInstance;
    }

    public String getIccid() {
    if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
    // TODO: Consider calling
    LogUtil.e(TAG + "getIccid need permission READ_PHONE_STATE!! please check!");
    return null;
    }
    String iccid = mTelephonyManager.getSimSerialNumber();
    return iccid;
    }

    public String getImei() {
    if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
    // TODO: Consider calling
    LogUtil.e(TAG + "getIccid need permission READ_PHONE_STATE!! please check!");
    return null;
    }
    String imei = mTelephonyManager.getImei();
    return imei;
    }
    }
  • 相关阅读:
    深入剖析C#的多态
    .NET多线程编程:多任务和多线程
    .Net类库中实现的HashTable
    用C#编写ActiveX控件
    用微软.NET架构企业解决方案 学习笔记(四)业务层
    SQL事务
    WCF基础知识问与答
    在.NET环境中使用单元测试工具NUnit
    圣殿骑士博客转载系列
    系统架构师学习笔记_第十二章
  • 原文地址:https://www.cnblogs.com/adamli/p/13139813.html
Copyright © 2011-2022 走看看