获取当前设备的应用列表(非系统应用)
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;
}