获取Android设备信息
来源:互联网 发布:崔钟博文 知乎 编辑:程序博客网 时间:2024/05/17 20:13
在开发的过程中有可能根据需要显示一些设备的状态或系统信息。下面是收集到的一些信息
一、获取当前电量
每当电量改变时系统都会广播发Intent.ACTION_BATTERY_CHANGED消息出来,应用程序只需要注册并创建一个接收器就能获取当前的电量
创建一个广播接收器类BatteryInfoReceiver.java
package com.example.getdeviceinfo;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.widget.Toast;//接收电池改变的消息public class BatteryInfoReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubint level = intent.getIntExtra("level", Integer.MAX_VALUE);Toast.makeText(context, String.valueOf(level) + "%", Toast.LENGTH_SHORT).show();}}
当点击按钮时注册Intent.ACTION_BATTERY_CHANGED消息
package com.example.getdeviceinfo;import android.app.Activity;import android.content.BroadcastReceiver;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {private Button batteryBtn = null;private BroadcastReceiver batteryReceiver = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);batteryReceiver = new BatteryInfoReceiver();InitBtn();batteryBtn.setOnClickListener(new batteryListener());}private void InitBtn() {batteryBtn = (Button) findViewById(R.id.battery);wifiBtn = (Button) findViewById(R.id.wifi);}class batteryListener implements OnClickListener {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub//注册消息registerReceiver(batteryReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));}}}
二、获取Wifi的状态,只要用到WifiManager类
按钮响应函数代码
class wifiListener implements OnClickListener {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubWifiManager wifi = (WifiManager) MainActivity.this.getSystemService(Context.WIFI_SERVICE);String wifiState = null;int state = wifi.getWifiState();switch (state) {case WifiManager.WIFI_STATE_DISABLED:wifiState = "已经关闭";break;case WifiManager.WIFI_STATE_DISABLING:wifiState = "正在关闭...";break;case WifiManager.WIFI_STATE_ENABLED:wifiState = "已经打开";break;case WifiManager.WIFI_STATE_ENABLING:wifiState = "正在打开...";break;case WifiManager.WIFI_STATE_UNKNOWN:wifiState = "未知状态";break;default:break;}Toast.makeText(MainActivity.this, "获取wifi " + wifiState,Toast.LENGTH_SHORT).show();}}
效果:
三、获取当前系统信息
/** * 获取设备型号、SDK版本及系统版本 * * @author Administrator * */class androidInfoListener implements OnClickListener {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubString device_model = Build.MODEL; // 设备型号int version_sdk = Build.VERSION.SDK_INT; // 设备SDK版本String version_release = Build.VERSION.RELEASE; // 设备的系统版本String str = "device_model = " + device_model + " version_sdk = "+ version_sdk + " version_release = " + version_release;Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT).show();}}
四、获取屏幕宽高
/** * 获取屏幕宽高 * * @author Administrator * */class screenInfoListener implements OnClickListener {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubDisplayMetrics displayMetrics = new DisplayMetrics();MainActivity.this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);int height = displayMetrics.heightPixels;int width = displayMetrics.widthPixels;double diagonalPixels = Math.sqrt(Math.pow(displayMetrics.widthPixels, 2)+ Math.pow(displayMetrics.heightPixels, 2));double pixels = diagonalPixels / (160 * displayMetrics.density);String str = "height = " + height + " width = " + width+ " pixels = " + pixels;Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT).show();}}
/** * 获取当前程序路径和获取已安装的程序列表 * * @author Administrator * */class pathListListener implements OnClickListener {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubString strPath = getApplicationContext().getFilesDir().getAbsolutePath();List<PackageInfo> packageInfoList = getPackageManager().getInstalledPackages(0);Toast.makeText(getApplicationContext(),strPath + ":::" + packageInfoList.toString(),Toast.LENGTH_SHORT).show();}}
更详细信息可以下载
点击打开链接
- Android设备信息获取
- android 获取设备信息
- Android 获取设备信息
- android获取设备信息
- 获取android设备信息
- android 获取设备信息
- 获取Android设备信息
- android 获取设备信息
- *****Android设备信息获取
- Android设备信息获取
- android设备信息获取
- android获取设备信息
- android获取设备信息
- Android设备信息获取
- Android 获取设备信息
- Android获取设备信息
- 获取android 设备信息
- android设备信息获取
- Android项目运行junit测试类时出现错误Internal Error (classFileParser.cpp:3494)的解决办法
- python pop 和remove
- HTML的学习总结(一)
- java常用包
- U-boot 添加命令 U_BOOT_CMD
- 获取Android设备信息
- ini文件读写 保存上次存储内容
- 写C++代码应该养成的好习惯
- JS 清除IE缓存 以及 session id的传递
- Windows无法连接到System Event Notification Service服务的解决方法
- 面试基础题系列(一)java 打印 ,空心菱形
- 校验码:奇偶校验,海明码,CRC
- IOS 中 ARC机制详解
- CodeForse#204(Div.2) 总结 A,B,C