获取手机中内外存储卡

手机的内外存储卡介绍可以参考博客:http://blog.sina.com.cn/s/blog_5da93c8f0102vcam.html

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.test_main_layout);

/**设备管理器*/

StorageManager storageManager = (StorageManager) getSystemService(Context.STORAGE_SERVICE);

try {

Class<?>[] paramClasses = {};

/**反射实现*/

Method getVolumePathsMethod = StorageManager.class.getMethod("getVolumePaths", paramClasses);

getVolumePathsMethod.setAccessible(true);

Object[] params = {};

Object invoke = getVolumePathsMethod.invoke(storageManager, params);

for (int i = 0; i < ((String[]) invoke).length; i++) {

/** Android.os下的StatFs类主要用来获取文件系统的状态,能够获取sd卡的大小和剩余空间,获取系统内部空间也就是/system的大小和剩余空间等等。*/

StatFs stat = getStatFs(((String[]) invoke)[i]);

Log.i("ldm", ((String[]) invoke)[i] + ":" + calculateSizeInMB(stat));

}

}

catch (Exception e1) {

e1.printStackTrace();

}

}

private StatFs getStatFs(String path) {

try {

return new StatFs(path);

}

catch (Exception e) {

e.printStackTrace();

}

return null;

}

/**计算存储卡的可用容量(单位:M)*/

private float calculateSizeInMB(StatFs stat) {

if (stat != null)

return stat.getAvailableBlocks() * (stat.getBlockSize() / (1024f * 1024f));

return 0.0f;

}

}

时间: 2024-10-29 19:11:39

获取手机中内外存储卡的相关文章

获取手机中所有已安装的应用,并判断是否系统应用

//获取手机中所有已安装的应用,并判断是否系统应用 ArrayList<AppInfo> appList = new ArrayList<AppInfo>(); //用来存储获取的应用信息数据,手机上安装的应用数据都存在appList里 List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);   for(int i = 0; i < packages.size(); i++

【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)

众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下 [java] view plaincopyprint? PackageManager packageManager = this.getPackageManager(); List<PackageInfo> packageInfoList = packageManager.getInstalledPackages(0); 通过以上方法,可以得到手机中安装的所有应用程序,既包括了手动安装的apk包的信

Android_(传感器)获取手机中的传感器

传感器是一种检测装置,能够感受被测量的信息,并能将检测和感受到的信息按一定规律变换成电信号或其它所需形式的信息输出 Android操作系统中内置了很多的传感器(物理装置),能够探测.感受外界的信号.物理条件,并将得到的信息传递给其它的装置. 例如在部分游戏或软件可以自动识别屏幕的横竖屏来改变屏幕显示的布局 下面是Android支持的几种传感器: 加速传感器      Sensor.TYPE_ACCELEROMETER 陀螺仪传感器     Sensor.TYPE_GYROSCOPE 环境光仪传感

iOS - 获取手机中所有图片

1 #import <AssetsLibrary/AssetsLibrary.h> 3 4 5 /** 6 * ALAssetsLibrary.h 代表资源库(所有的视频,照片) 7 ALAssetsGroup.h 代表资源库中的相册 8 ALAsset.h 代表相册中一个视频或者一张照片 9 ALAssetRepresentation.h 代表一个资源的描述,可以获取到原始图片 10 */ 11 12 @interface ViewController () 13 14 @property

获取应用版本号,版本名称,包名,AppName,图标,是否是系统应用,获取手机中所有应用,所有进程

PackageManager packageManager = getPackageManager(); PackageInfo packageInfo; = packageManager.getPackageInfo("com.kimliu.mobilesafe", 0); Drawable icon = packageInfo.applicationInfo.loadIcon(packageManager); String packageName = packageInfo.pac

Android之——获取手机安装的应用程序

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47114331 前几篇有关Android的博文中,向大家介绍了几个项目中常用的实用功能,那么在这篇博文中,我将向大家介绍如何获取Android手机中已经安装的手机应用程序,实用过金山手机卫士或者360手机卫士的童鞋都知道,这些软件都可以获取到当前手机中安装的应用程序.那么,这些功能是如何实现的呢?就让我们一起来看看这些功能具体是如何实现的吧. 一.原理 原理很简单,我们通过Andr

【小功能2】android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)

为了实现一个功能,需要搜集手机信息,自己先在网上找了相关信息进行了汇总,主要是汇集手机的信息,一般想要的信息在手机设置->关于手机->状态消息里面包含了手机的各种信息,下面的代码中也主要显示了那些信息,但是源码的方法我还没有看,先把总结的贴出来.先上图(太多就截取几个).  上代码啦,太多了,就写主要代码了. // 获取Android手机中SD卡存储信息 获取剩余空间 public void getSDCardInfo() { // 在manifest.xml文件中要添加 /* * <u

Android获取手机相关信息

首先,一个小例子: package com.brio.testid; import android.app.Activity; import android.bluetooth.BluetoothAdapter; import android.os.Bundle; import android.provider.Settings.Secure; import android.widget.TextView; public class MainActivity extends Activity {

Android实例-手机安全卫士(二十六)—获取手机内联系人信息

一.目标. 通过内容解析器获取手机联系人信息,并采用自定义的样式显示. 为了便于介绍和重复使用,重新建立一个”读取联系人“工程. 二.代码实现. 1.新建工程,取名为”读取联系人“.在布局文件(activity_main.xml)中,采用ListView组件(其ID为select_contact). 布局文件代码: 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmln