这是获取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();
}
}
分享到:
相关推荐
在Android应用开发中,获取设备信息是常见的需求,这包括但不限于设备型号、硬件特性、操作系统版本等。这些信息对于调试、个性化用户体验或者数据分析都非常重要。本文将深入探讨如何在Android中获取这些关键信息。...
Android获取储存信息以及内存信息可以用adb命令查看。 adb查看系统内存信息以及储存信息: 命令:adb shell cat /proc/meminfo 代码: private static final String FILENAME_PROC_MEMINFO = /proc/meminfo; /*...
在Android系统中,获取设备的硬件信息是开发者和普通用户都可能需要的操作。这涉及到对设备的CPU(中央处理器)、内存(RAM)、ROM(只读存储器)以及摄像头等核心硬件组件的理解。以下是对这些硬件信息的详细说明:...
"Android获取实时连接热点的设备IP" Android获取实时连接热点的设备IP是指在Android系统中获取当前热点连接的设备IP地址的相关技术。主要涉及到Android系统中获取Wifi热点设备的Ip地址的代码实现。 知识点一:/...
通常,我们使用ARP(Address Resolution Protocol)协议来获取设备的物理地址(MAC地址)对应于其IP地址。在Android中,我们可以使用`Socket`或`MulticastSocket`来发送ICMP请求,探测网络中其他设备的存在。然而,...
在Android开发中,获取设备信息和手机唯一标识是常见的需求,尤其在进行用户风险控制时。这篇文章将深入探讨如何在Android系统中获取这些关键数据。 首先,了解Android设备信息包括但不限于以下几点: 1. **设备...
在Android应用开发中,获取设备信息是常见的需求,这包括硬件特性、系统版本以及设备状态等。以下是一些关于如何获取这些信息的关键知识点。 1. **Android设备ID**: Android设备具有唯一的设备标识符,如IMEI...
在Android开发中,获取设备的基本服务信息是相当重要的,它能帮助开发者了解设备的状态,以便更好地适配和优化应用。本文将深入探讨如何在Android平台上获取这些信息,并提供一个简单的Demo示例,参考链接为...
以下是对Android获取设备基本服务信息的详细讲解。 1. **设备状态获取** Android提供`Build`类来获取设备的基本信息,如设备型号、制造商、版本号等。例如,`Build.MODEL`返回设备模型,`Build.MANUFACTURER`返回...
在Android系统中,开发者经常需要获取设备的唯一标识码来实现一些特定的功能,例如用户跟踪、数据同步或者设备注册等。然而,随着Android系统的更新,为了保护用户隐私,获取设备唯一标识的方式也在不断变化。本篇...
在Android平台上,获取设备的系统信息是开发过程中常见的需求,这包括屏幕参数、内存状态、IMEI号码、存储空间、传感器信息以及CPU详情等。以下将详细解释如何获取这些信息。 1. **屏幕信息**: - 屏幕尺寸:通过`...
4. **遍历挂载点**:为了找到OTG U盘的具体路径,需要遍历`/sys/class/android_usb/androidX/f_mass_storage/lun/file`目录(X代表设备编号),这里可能包含OTG U盘的挂载点信息。这通常需要root权限,但某些设备...
调用`getDeviceList()`方法获取所有已连接的设备,然后遍历`UsbDevice`对象以获取设备信息,如`getDeviceName()`、`getVendorId()`、`getProductId()`等。 6. **USB权限管理**:Android 3.1及以上版本引入了USB访问...
"JavaApk源码说明.txt"可能包含了关于如何在Android项目中集成HTML5代码和PhoneGap库的指导,而"phoneGap2ShowDevice2"可能是PhoneGap的一个示例项目,展示如何使用`device`插件来获取设备信息。`device`插件提供了`...
在Android开发中,获取设备信息是一项基础且重要的任务,它涉及到设备硬件、操作系统以及应用程序的适配和优化。本文将详细讲解如何通过编程的方式获取Android设备的各种信息。 首先,我们来了解一下Android设备的...
总结来说,获取Android设备已安装应用信息主要包括获取PackageManager服务、列出安装应用、遍历并解析PackageInfo对象以及处理应用图标。这个过程对于构建应用管理功能、数据分析或其他与应用信息相关的功能至关重要...
以上就是Android获取当前桌面壁纸的基本步骤。如果你想要实现更复杂的功能,比如监听壁纸更改,可以注册BroadcastReceiver来监听ACTION_WALLPAPER_CHANGED广播。同时,你还可以利用Intent.ACTION_SET_WALLPAPER为...
总之,通过反射机制,开发者可以在不依赖特定厂商实现的情况下,获取并管理Android设备上的各种存储路径,包括内置存储、SD卡和OTG设备,同时获取到它们的空间信息,以适应不同的设备环境。在`MountRootManagerRf....
在Android平台上,获取设备的内网IP地址是一个常见的需求,特别是在网络通信或者设备间互动的场景下。这个“获取android设备的内网IP地址”的demo就是为此目的设计的。它首先尝试通过WiFi接口获取IP,如果WiFi未开启...
在Android 10.0版本中,为了保护用户隐私和遵循GDPR(General Data Protection Regulation)规定,谷歌对获取设备序列号的接口进行了调整,使得开发者不能直接通过公共API获取SN号。因此,"Android10.0 SN号获取接口...