获取android设备相关信息

获取当前设备的应用列表(非系统应用)

public List<AppInfo> getAppList() {
        List<AppInfo> packageList = new ArrayList<AppInfo>();
        List<PackageInfo> packages = context.getPackageManager().getInstalledPackages(0);
        for (PackageInfo info : packages) {
            if ((info.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
                AppInfo vo = new AppInfo();
                vo.setAppPackage(info.packageName);
                vo.setAppName(info.applicationInfo.loadLabel(context.getPackageManager()).toString());
                vo.setAppVersion(info.versionName);
              //获得应用程序的大小
                String dir = info.applicationInfo.publicSourceDir;
                vo.setAppSize(new File(dir).length());
                packageList.add(vo);
            }
        }
        return packageList;
    }


获取当前设备的电话号码

public String getNativePhoneNumber() {
        TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
        return TextUtils.isEmpty(telephonyManager.getLine1Number()) ? "" : telephonyManager.getLine1Number();
    }


获取当前设备的手机厂商

public String getManufacturer() {
        return TextUtils.isEmpty(android.os.Build.MANUFACTURER) ? "" : android.os.Build.MANUFACTURER;
    }


获取当前设备的手机型号

public String getDevideModel() {
        return TextUtils.isEmpty(android.os.Build.MODEL) ? "" : android.os.Build.MODEL;
    }


获取当前设备的系统版本

public String getOSVersion() {
        return TextUtils.isEmpty(android.os.Build.VERSION.RELEASE) ? "" : android.os.Build.VERSION.RELEASE;
    }


获得IMEI:GSM设备为IMEI,CDMA为MEID

public String getImei(){
        //获得IMEI:GSM设备为IMEI,CDMA为MEID
        TelephonyManager myTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);;
        String imei = "";
        imei = myTelephonyManager.getDeviceId();
        if(imei == null ){
            imei = "";
        }
        return imei;
    }


获取地理位置(可以取到,取不到是设备默认禁止了权限,例如360卫士)

public static Location getLocation(Context context) {
        
        //获取到LocationManager对象
        LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
        if(!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
            //没打开wifi开关,启动设置页面
//            Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
//            ((Activity)context).startActivityForResult(intent, 0);
            return null;
        }
        
        Location currentLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
        return currentLocation;
        
    }


转载于:https://my.oschina.net/u/2288619/blog/360973

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值