文档章节

获取android设备相关信息

j
 jeason李
发布于 2014/12/26 16:51
字数 277
阅读 14
收藏 0

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

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;
        
    }


© 著作权归作者所有

上一篇: 格式化数据
j
粉丝 1
博文 8
码字总数 2540
作品 0
大连
私信 提问
最终预览版 Beta 4 现已发布,Android P 正式版即将到来!

作者:Dave Burke 工程部副总裁 Android P 即将面世,新平台目前正处于最后调试阶段。今天,我们向各位开发者发布 Android P 的 Beta 4 版本。 Beta 4 版本是最后一个开发者预览版, 而 Andr...

Android_开发者
2018/07/26
0
0
Android 9 Pie 现已面向全球正式发布!

作者:Dave Burke, 工程部副总裁 经历一年多的开发和数月以来早期用户的反复测试,最新 Android 平台 —— Android 9 Pie 终于正式面向全球发布! Android 9 利用人工智能技术,让您的手机更...

Android_开发者
2018/08/07
0
0
Android源码分析(六)-----蓝牙Bluetooth源码目录分析

一 :Bluetooth 的设置应用 packagesappsSettingssrccomandroidsettingsbluetooth* 蓝牙设置应用及设置参数,蓝牙状态,蓝牙设备等。 BluetoothDevicePreference.java 顾名思义,蓝牙设备首选...

—莫言—
05/20
0
0
高通处理器曝高危漏洞,波及全球超9亿部安卓设备

重要的事情说三遍,安卓设备要及时更新补丁!更新补丁!更新补丁! 据外媒报道,信息安全研究公司Check Point近日发现了四个影响搭载高通处理器的Android手机的新漏洞,漏洞将增加黑客入侵的...

行者武松
2018/03/06
0
0
『转』搭建基于 PhoneGap 框架的 Mobile 应用

简介: 目前,随着 Google 的 Android 手机和苹果的 iPhone 手机成为手机市场的主流,越来越多的开发者加入到移动应用开发的大军中,但是基于 Java 的 Android 应用和基于 C 语言的 iPhone 应...

老盖
2011/08/25
3.5K
0

没有更多内容

加载失败,请刷新页面

加载更多

PostgreSQL 11.3 locking

rudi
今天
5
0
Mybatis Plus sql注入器

一、继承AbstractMethod /** * @author beth * @data 2019-10-23 20:39 */public class DeleteAllMethod extends AbstractMethod { @Override public MappedStatement injectMap......

一个yuanbeth
今天
10
1
一次写shell脚本的经历记录——特殊字符惹的祸

本文首发于微信公众号“我的小碗汤”,扫码文末二维码即可关注,欢迎一起交流! redis在容器化的过程中,涉及到纵向扩pod实例cpu、内存以及redis实例的maxmemory值,statefulset管理的pod需要...

码农实战
今天
4
0
为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接?

之前在阅读《阿里巴巴Java开发手册》时,发现有一条是关于循环体中字符串拼接的建议,具体内容如下: 那么我们首先来用例子来看看在循环体中用 + 或者用 StringBuilder 进行字符串拼接的效率...

武培轩
今天
8
0
队列-链式(c/c++实现)

队列是在线性表功能稍作修改形成的,在生活中排队是不能插队的吧,先排队先得到对待,慢来得排在最后面,这样来就形成了”先进先出“的队列。作用就是通过伟大的程序员来实现算法解决现实生活...

白客C
今天
80
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部