`

android获取设备存储信息

阅读更多
这是获取android设备的存储设备(手机内存,SD卡内存)信息的代码
import java.io.File;   

import android.os.Environment;   
import android.os.StatFs;   
  
public class MemoryStatus {   
  
    static final int ERROR = -1;   
       
    static public boolean externalMemoryAvailable() {   
        return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);   
    }   
       /**
        * 获取可用的内部记忆大小
        * @return
        */
    static public long getAvailableInternalMemorySize() {   
        File path = Environment.getDataDirectory();   
        StatFs stat = new StatFs(path.getPath());   
        long blockSize = stat.getBlockSize();   
        long availableBlocks = stat.getAvailableBlocks();   
        return availableBlocks * blockSize;   
    }   
       /**
        * 获取总共内部内存大小
        * @return
        */
    static public long getTotalInternalMemorySize() {   
        File path = Environment.getDataDirectory();   
        StatFs stat = new StatFs(path.getPath());   
        long blockSize = stat.getBlockSize();   
        long totalBlocks = stat.getBlockCount();   
        return totalBlocks * blockSize;   
    }   
       
    /**
     * 获取可用外部记忆大小
     * @return
     */
    static public long getAvailableExternalMemorySize() {   
        if(externalMemoryAvailable()) {   
            File path = Environment.getExternalStorageDirectory();   
            StatFs stat = new StatFs(path.getPath());   
            long blockSize = stat.getBlockSize();   
            long availableBlocks = stat.getAvailableBlocks();   
            return availableBlocks * blockSize;   
        } else {   
            return ERROR;   
        }   
    }   
       
    /**
     * 获取总共外部记忆大小
     * @return
     */
    static public long getTotalExternalMemorySize() {   
        if(externalMemoryAvailable()) {   
            File path = Environment.getExternalStorageDirectory();   
            StatFs stat = new StatFs(path.getPath());   
            long blockSize = stat.getBlockSize();   
            long totalBlocks = stat.getBlockCount();   
            return totalBlocks * blockSize;   
        } else {   
            return ERROR;   
        }   
    }   
       
    static public String formatSize(long size) {   
        String suffix = null;   
       
        if (size >= 1024) {   
            suffix = "KiB";   
            size /= 1024;   
            if (size >= 1024) {   
                suffix = "MiB";   
                size /= 1024;   
            }   
        }   
       
        StringBuilder resultBuffer = new StringBuilder(Long.toString(size));   
       
        int commaOffset = resultBuffer.length() - 3;   
        while (commaOffset > 0) {   
            resultBuffer.insert(commaOffset, ',');   
            commaOffset -= 3;   
        }   
       
        if (suffix != null)   
            resultBuffer.append(suffix);   
        return resultBuffer.toString();   
    }   
}  
0
0
分享到:
评论

相关推荐

    Android 获取设备信息

    在Android应用开发中,获取设备信息是常见的需求,这包括但不限于设备型号、硬件特性、操作系统版本等。这些信息对于调试、个性化用户体验或者数据分析都非常重要。本文将深入探讨如何在Android中获取这些关键信息。...

    Android获取系统储存以及内存信息的方法(二)

    Android获取储存信息以及内存信息可以用adb命令查看。 adb查看系统内存信息以及储存信息: 命令:adb shell cat /proc/meminfo 代码: private static final String FILENAME_PROC_MEMINFO = /proc/meminfo; /*...

    获取Android设备常见硬件信息

    在Android系统中,获取设备的硬件信息是开发者和普通用户都可能需要的操作。这涉及到对设备的CPU(中央处理器)、内存(RAM)、ROM(只读存储器)以及摄像头等核心硬件组件的理解。以下是对这些硬件信息的详细说明:...

    Android获取实时连接热点的设备IP

    "Android获取实时连接热点的设备IP" Android获取实时连接热点的设备IP是指在Android系统中获取当前热点连接的设备IP地址的相关技术。主要涉及到Android系统中获取Wifi热点设备的Ip地址的代码实现。 知识点一:/...

    Android 极速获取局域网在线设备信息

    通常,我们使用ARP(Address Resolution Protocol)协议来获取设备的物理地址(MAC地址)对应于其IP地址。在Android中,我们可以使用`Socket`或`MulticastSocket`来发送ICMP请求,探测网络中其他设备的存在。然而,...

    Android-史上最全、最完整,获取设备信息、获取手机唯一标识

    在Android开发中,获取设备信息和手机唯一标识是常见的需求,尤其在进行用户风险控制时。这篇文章将深入探讨如何在Android系统中获取这些关键数据。 首先,了解Android设备信息包括但不限于以下几点: 1. **设备...

    获取Android设备信息

    在Android应用开发中,获取设备信息是常见的需求,这包括硬件特性、系统版本以及设备状态等。以下是一些关于如何获取这些信息的关键知识点。 1. **Android设备ID**: Android设备具有唯一的设备标识符,如IMEI...

    【Android】获取设备的基本服务信息

    在Android开发中,获取设备的基本服务信息是相当重要的,它能帮助开发者了解设备的状态,以便更好地适配和优化应用。本文将深入探讨如何在Android平台上获取这些信息,并提供一个简单的Demo示例,参考链接为...

    Android_获取设备基本服务信息

    以下是对Android获取设备基本服务信息的详细讲解。 1. **设备状态获取** Android提供`Build`类来获取设备的基本信息,如设备型号、制造商、版本号等。例如,`Build.MODEL`返回设备模型,`Build.MANUFACTURER`返回...

    Android设备获取唯一标识码的方法

    在Android系统中,开发者经常需要获取设备的唯一标识码来实现一些特定的功能,例如用户跟踪、数据同步或者设备注册等。然而,随着Android系统的更新,为了保护用户隐私,获取设备唯一标识的方式也在不断变化。本篇...

    获取 Android 设备的系统信息 包含屏幕信息、内存信息、IMEI、存储、传感器、CPU等信息.zip

    在Android平台上,获取设备的系统信息是开发过程中常见的需求,这包括屏幕参数、内存状态、IMEI号码、存储空间、传感器信息以及CPU详情等。以下将详细解释如何获取这些信息。 1. **屏幕信息**: - 屏幕尺寸:通过`...

    查看Android USB设备信息

    调用`getDeviceList()`方法获取所有已连接的设备,然后遍历`UsbDevice`对象以获取设备信息,如`getDeviceName()`、`getVendorId()`、`getProductId()`等。 6. **USB权限管理**:Android 3.1及以上版本引入了USB访问...

    Android 使用html5得到手机设备信息

    "JavaApk源码说明.txt"可能包含了关于如何在Android项目中集成HTML5代码和PhoneGap库的指导,而"phoneGap2ShowDevice2"可能是PhoneGap的一个示例项目,展示如何使用`device`插件来获取设备信息。`device`插件提供了`...

    Android 获取OTG U盘路径 sdcard路径

    4. **遍历挂载点**:为了找到OTG U盘的具体路径,需要遍历`/sys/class/android_usb/androidX/f_mass_storage/lun/file`目录(X代表设备编号),这里可能包含OTG U盘的挂载点信息。这通常需要root权限,但某些设备...

    获取android设备信息

    在Android开发中,获取设备信息是一项基础且重要的任务,它涉及到设备硬件、操作系统以及应用程序的适配和优化。本文将详细讲解如何通过编程的方式获取Android设备的各种信息。 首先,我们来了解一下Android设备的...

    获取android设备已安装应用信息(包名、图标、应用名)

    总结来说,获取Android设备已安装应用信息主要包括获取PackageManager服务、列出安装应用、遍历并解析PackageInfo对象以及处理应用图标。这个过程对于构建应用管理功能、数据分析或其他与应用信息相关的功能至关重要...

    android获取当前壁纸

    以上就是Android获取当前桌面壁纸的基本步骤。如果你想要实现更复杂的功能,比如监听壁纸更改,可以注册BroadcastReceiver来监听ACTION_WALLPAPER_CHANGED广播。同时,你还可以利用Intent.ACTION_SET_WALLPAPER为...

    android通过反射获取内置存储、SD、OTG盘的路径,适合三方apk存储查看与文件管理

    总之,通过反射机制,开发者可以在不依赖特定厂商实现的情况下,获取并管理Android设备上的各种存储路径,包括内置存储、SD卡和OTG设备,同时获取到它们的空间信息,以适应不同的设备环境。在`MountRootManagerRf....

    获取android设备的内网IP地址

    在Android平台上,获取设备的内网IP地址是一个常见的需求,特别是在网络通信或者设备间互动的场景下。这个“获取android设备的内网IP地址”的demo就是为此目的设计的。它首先尝试通过WiFi接口获取IP,如果WiFi未开启...

    Android10.0SN号获取接口patch.zip

    在Android 10.0版本中,为了保护用户隐私和遵循GDPR(General Data Protection Regulation)规定,谷歌对获取设备序列号的接口进行了调整,使得开发者不能直接通过公共API获取SN号。因此,"Android10.0 SN号获取接口...

Global site tag (gtag.js) - Google Analytics