当前位置:首页 > 编程开发

安卓获取设备信息

webgou8年前 (2018-04-24)编程开发142

安卓获取设备信息

 import java.net.NetworkInterface;

import java.net.SocketException;
import java.util.Enumeration;
 
import android.app.Activity;
import android.app.Application;
import android.content.Intent;
import android.content.IntentFilter;
import android.provider.Settings;
import android.telephony.TelephonyManager;
import android.util.Log;
 
public class MiddleCS
{
  public static int GetAndroidBatteryLevel(Activity unityActivity)
  {
    IntentFilter iFilter = new IntentFilter("android.intent.action.BATTERY_CHANGED");
    Intent intent = unityActivity.getApplication().registerReceiver(null, iFilter);
    int rawLevel = intent.getIntExtra("level", -1);
    int scale = intent.getIntExtra("scale", -1);
    int status = intent.getIntExtra("status", 0);
    
    int level = -1;
    if ((rawLevel > 0) && (scale > 0)) {
      level = rawLevel * 100 / scale;
    }
    Log.d("pow", level + "|" + scale + "|" + status);
    
    return level;
  }
  
 
  //获取品牌
  public static String GetBrand()
  {
  return android.os.Build.BRAND;
  }
  //获取手机型号
  public static String GetModel()
  {
  return android.os.Build.MODEL;
  }
  
  //secure android id 
  public static String GetSecureID(Activity unityActivity)
  {
  return Settings.Secure.getString(unityActivity.getContentResolver(),
              Settings.Secure.ANDROID_ID);
  }
  //设备id
  public static String GetDeveiceId(Activity unityActivity)
  {
  String deviceId = ((TelephonyManager) unityActivity.getSystemService(unityActivity.TELEPHONY_SERVICE)).getDeviceId();
  Log.d("pow", deviceId);
  return deviceId;
  }
  //获取mac地址
  public static String GetMac()
  {
  String address = "";
 
     try{
     
    // 把当前机器上的访问网络接口的存入 Enumeration集合中
        Enumeration<NetworkInterface> interfaces = null;
             
interfaces = NetworkInterface.getNetworkInterfaces();
 
         Log.d("pow"," interfaceName = " + interfaces);
         while (interfaces.hasMoreElements()) {
             NetworkInterface netWork = interfaces.nextElement();
             // 如果存在硬件地址并可以使用给定的当前权限访问,则返回该硬件地址(通常是 MAC)。
             byte[] by = netWork.getHardwareAddress();
             if (by == null || by.length == 0) {
                 continue;
             }
             StringBuilder builder = new StringBuilder();
             for (byte b : by) {
                 builder.append(String.format("%02X:", b));
             }
             if (builder.length() > 0) {
                 builder.deleteCharAt(builder.length() - 1);
             }
             String mac = builder.toString();
             Log.d("pow","interfaceName=" + netWork.getName() + ", mac=" + mac);
             // 从路由器上在线设备的MAC地址列表,可以印证设备Wifi的 name 是 wlan0
             if (netWork.getName().equals("wlan0")) {
              Log.d("pow"," interfaceName =" + netWork.getName() + ", mac=" + mac);
                 address = mac;
             }
         }
     
     }catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
     finally
     {
     
     }
  
     return address.toUpperCase();
   }  
  

扫描二维码推送至手机访问。

版权声明:本文由知了博客发布,如需转载请注明出处。

本文链接:https://www.webgou.info/?id=633

标签: android
分享给朋友:

“安卓获取设备信息” 的相关文章

iOS开发中常见的语句@synthesize obj=_obj的意义详解

  我们在进行iOS开发时,经常会在类的声明部分看见类似于@synthesize window=_window; 的语句,那么,这个window是什么,_ window又是什么,两个东西分别怎么用,这是一个比较基本的问题,也关乎我们理解Objective-C中对类、类的…

VC++动态链接库(DLL)编程深入浅出(三)(上)

第4节我们对非MFC DLL进行了介绍,这一节将详细地讲述MFC规则DLL的创建与使用技巧。 另外,自从本文开始连载后,收到了一些读者的e-mail。有的读者提出了一些问题,笔者将在本文的最后一次连载中选取其中的典型问题进行解 答。由于时间的关系,对于读者朋友的来信,笔者暂时不能一一回复,还望海涵…

Java Dom解析XML

˂1、XML文件persons.xml内容如下:<?xml version="1.0" encoding="UTF-8"?><persons>  <person><name>jak</name&g…

firefox 缓存文件查看

firefox 缓存文件查看…

fatal error C1853 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)

   C1853 编译器错误:fatal error C1853: 'pjtname.pch' precompiled header file is from a previous version of the compiler, 解决办法…

Mac电脑安装OpenClaw教程

 自2026年1月起,一款名为OpenClaw(网友俗称“小龙虾”)的开源AI智能体在国内外社交媒体爆火,并衍生出收费安装服务。北京、上海、深圳等地的不少企业放出了“OpenClaw开发工程师”等岗位,其要求不限于“熟悉OpenC…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。