欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

获取Android手机信息的工具类PhoneHelper,androidphonehelper,获取手机的一些基本信息,

来源: javaer 分享于  点击 1328 次 点评:60

获取Android手机信息的工具类PhoneHelper,androidphonehelper,获取手机的一些基本信息,


获取手机的一些基本信息,比如生产商家、固件版本、手机型号、手机号码、屏幕分辨率等

import java.io.File;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;import android.content.Context;import android.content.Intent;import android.content.pm.ApplicationInfo;import android.content.pm.PackageManager;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.net.Uri;import android.os.Environment;import android.telephony.TelephonyManager;import android.text.TextUtils;import android.util.DisplayMetrics;import android.util.TypedValue;import android.view.Display;import android.view.Gravity;import android.view.WindowManager;import android.widget.Toast;public class PhoneHelper {    private  Context context=App.getInstance();    private static PhoneHelper util;    public static PhoneHelper getInstance() {        if (util == null) {            util = new PhoneHelper();        }        return util;    }    private PhoneHelper() {        super();    }    /**     * 生产商家     *      * @return     */    public String getManufacturer() {        return android.os.Build.MANUFACTURER;    }    /**     * 获得固件版本     *      * @return     */    public String getRelease() {        return android.os.Build.VERSION.RELEASE;    }    /**     * 获得手机型号     *      * @return     */    public String getModel() {        return android.os.Build.MODEL;    }    /**     * 获得手机品牌     *      * @return     */    public String getBrand() {        return android.os.Build.BRAND;    }    /**     * 获取手机运营商     */    public String getSimOperatorName() {        TelephonyManager tm = (TelephonyManager) context                .getSystemService(Context.TELEPHONY_SERVICE);        return tm.getSimOperatorName();     }    /**     * 得到本机手机号码,未安装SIM卡或者SIM卡中未写入手机号,都会获取不到     * @return     */    public  String getThisPhoneNumber() {        TelephonyManager tm = (TelephonyManager) context                .getSystemService(Context.TELEPHONY_SERVICE);        String number = tm.getLine1Number();        return  number;     }    /**     * 是否是电话号码     *      * @param phonenumber     * @return     */    public boolean isPhoneNumber(String phonenumber) {        Pattern pa = Pattern.compile("^[1][3,4,5,8,7][0-9]{9}$");        Matcher ma = pa.matcher(phonenumber);        return ma.matches();    }    /**     * 打电话     *      * @param phone     * @param context     */    public void doPhone(String phone) {        Intent phoneIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:"                + phone));        context.startActivity(phoneIntent);    }    /**     * 发短信     *      * @param phone     * @param content     * @param c     */    public void doSMS(String phone, String content) {        Uri uri = null;        if (!TextUtils.isEmpty(phone))            uri = Uri.parse("smsto:" + phone);        Intent intent = new Intent(Intent.ACTION_SENDTO, uri);        intent.putExtra("sms_body", content);        context.startActivity(intent);    }    /**     * 得到屏幕信息     * getScreenDisplayMetrics().heightPixels 屏幕高     * getScreenDisplayMetrics().widthPixels 屏幕宽     * @return     */    public DisplayMetrics getScreenDisplayMetrics() {        WindowManager manager = (WindowManager) context                .getSystemService(Context.WINDOW_SERVICE);        DisplayMetrics displayMetrics = new DisplayMetrics();        Display display = manager.getDefaultDisplay();        display.getMetrics(displayMetrics);        return displayMetrics;    }    /**     * 屏幕分辨率     *      * @param drame     * @return     */    public float getDip() {        return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1,                context.getResources().getDisplayMetrics());    }    /**     * 安装apk     */    public void instance(File file) {        Intent intent = new Intent();        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        intent.setAction(android.content.Intent.ACTION_VIEW);        intent.setDataAndType(Uri.fromFile(file),                "application/vnd.android.package-archive");        context.startActivity(intent);    }    /**     * 是否安装了     *      * @param packageName     * @return     */    public boolean isInstall(String packageName) {        PackageManager packageManager = context.getPackageManager();        List<ApplicationInfo> packs = packageManager                .getInstalledApplications(PackageManager.GET_ACTIVITIES);        for (ApplicationInfo info : packs) {            if (info.packageName.equals(packageName))                return true;        }        return false;    }    /**     * 检测网络是否可用     *      * @return     */    public boolean isNetworkConnected() {        ConnectivityManager cm = (ConnectivityManager) context                .getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo ni = cm.getActiveNetworkInfo();        return ni != null &amp;&amp; ni.isConnected();    }    /**     * 将Toast放在屏幕上方     *      * @param message     */    public void show(String message) {        Toast toast = Toast.makeText(context, message, Toast.LENGTH_LONG);        toast.setGravity(Gravity.TOP, 0,                (getScreenDisplayMetrics().heightPixels / 5));        toast.show();    }    /**     * 调用浏览器打开     *      * @param activity     * @param url     */    public void openWeb(String url) {        Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(url));        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        context.startActivity(intent);    }    /**     * 是否有外存卡     *      * @return     */    public boolean isExistExternalStore() {        if (Environment.getExternalStorageState().equals(                Environment.MEDIA_MOUNTED)) {            return true;        } else {            return false;        }    }    /**     * 得到sd卡路径     *      * @return     */    public String getExternalStorePath() {        if (isExistExternalStore()) {            return Environment.getExternalStorageDirectory().getAbsolutePath();        }        return null;    }    /**     * 得到网络类型,0是未知或未连上网络,1为WIFI,2为2g,3为3g,4为4g     * @return     */    public  int getNetType() {        ConnectivityManager connectMgr = (ConnectivityManager) context                .getSystemService(Context.CONNECTIVITY_SERVICE);        int type = 0;        NetworkInfo info = connectMgr.getActiveNetworkInfo();        if (info == null||!info.isConnected()) {            return type;        }        switch (info.getType()) {        case ConnectivityManager.TYPE_WIFI:            type = 1;            break;        case ConnectivityManager.TYPE_MOBILE:            type = getNetworkClass(info.getSubtype());            break;        default:            type=0;            break;        }        return type;    }    /**     * 判断数据连接的类型     * @param networkType     * @return     */    public int getNetworkClass(int networkType) {        switch (networkType) {        case TelephonyManager.NETWORK_TYPE_GPRS:        case TelephonyManager.NETWORK_TYPE_EDGE:        case TelephonyManager.NETWORK_TYPE_CDMA:        case TelephonyManager.NETWORK_TYPE_1xRTT:        case TelephonyManager.NETWORK_TYPE_IDEN:        case TelephonyManager.NETWORK_TYPE_UNKNOWN:            return 2;        case TelephonyManager.NETWORK_TYPE_UMTS:        case TelephonyManager.NETWORK_TYPE_EVDO_0:        case TelephonyManager.NETWORK_TYPE_EVDO_A:        case TelephonyManager.NETWORK_TYPE_HSDPA:        case TelephonyManager.NETWORK_TYPE_HSUPA:        case TelephonyManager.NETWORK_TYPE_HSPA:        case TelephonyManager.NETWORK_TYPE_EVDO_B:        case TelephonyManager.NETWORK_TYPE_EHRPD:            return 3;        case TelephonyManager.NETWORK_TYPE_LTE:            return 4;        default:            return 0;        }    }}
相关栏目:

用户点评