android系统获取系统相关信息(如Android设备的唯一ID等)(源码)
来源:互联网 发布:电脑语音输入软件 编辑:程序博客网 时间:2024/04/30 09:19
package android.seek.service.appdevice.util;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.NetworkInfo.State;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.provider.Settings.Secure;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import java.lang.reflect.Method;
import java.util.Random;
public class PhoneInfo
{
public static final String IMEI = "imei";
public static final String IMSI = "imsi";
public static final String MACADDRESS = "mac_address";
private static String a()
{
StringBuffer localStringBuffer1 = new StringBuffer();
long l1 = System.currentTimeMillis();
String str = Long.toString(l1);
localStringBuffer1.append(str.substring(-5 + str.length()));
StringBuffer localStringBuffer2 = new StringBuffer();
localStringBuffer2.append(Build.MODEL.replaceAll(" ", ""));
while (localStringBuffer2.length() < 6)
localStringBuffer2.append('0');
localStringBuffer1.append(localStringBuffer2.substring(0, 6));
Random localRandom = new Random(l1);
for (long l2 = 0L; l2 < 4096L; l2 = localRandom.nextLong());
localStringBuffer1.append(Long.toHexString(l2).substring(0, 4));
return localStringBuffer1.toString();
}
public static boolean checkNetWork(Context paramContext)
{
ConnectivityManager localConnectivityManager = (ConnectivityManager)paramContext.getSystemService("connectivity");
if (localConnectivityManager == null);
NetworkInfo[] arrayOfNetworkInfo;
do
{
return false;
arrayOfNetworkInfo = localConnectivityManager.getAllNetworkInfo();
}
while (arrayOfNetworkInfo == null);
int i = arrayOfNetworkInfo.length;
int j = 0;
if (j < i)
{
NetworkInfo localNetworkInfo = arrayOfNetworkInfo[j];
if (localNetworkInfo != null)
{
NetworkInfo.State localState = localNetworkInfo.getState();
if ((localState == null) || ((localState != NetworkInfo.State.CONNECTED) && (localState != NetworkInfo.State.CONNECTING)));
}
}
for (boolean bool = true; ; bool = false)
{
return bool;
j++;
break;
}
}
public static String getAndroidId(Context paramContext)
{
return Settings.Secure.getString(paramContext.getContentResolver(), "android_id");
}
public static String getImei(Context paramContext)
{
SharedPreferences localSharedPreferences = paramContext.getSharedPreferences("imei", 0);
String str1 = localSharedPreferences.getString("imei", null);
if ((str1 == null) || (str1.length() == 0))
{
String str2 = ((TelephonyManager)paramContext.getSystemService("phone")).getDeviceId();
if ((str2 == null) || (str2.length() == 0))
str2 = a();
for (str1 = str2.replaceAll(" ", "").trim(); str1.length() < 15; str1 = "0" + str1);
SharedPreferences.Editor localEditor = localSharedPreferences.edit();
localEditor.putString("imei", str1);
localEditor.commit();
}
return str1.trim();
}
public static String getImsi(Context paramContext)
{
SharedPreferences localSharedPreferences = paramContext.getSharedPreferences("imei", 0);
String str1 = localSharedPreferences.getString("imsi", null);
if ((str1 == null) || (str1.length() == 0))
{
String str2 = ((TelephonyManager)paramContext.getSystemService("phone")).getSubscriberId();
if ((str2 == null) || (str2.length() == 0))
str2 = a();
for (str1 = str2.replaceAll(" ", "").trim(); str1.length() < 15; str1 = "0" + str1);
SharedPreferences.Editor localEditor = localSharedPreferences.edit();
localEditor.putString("imsi", str1);
localEditor.commit();
}
return str1;
}
public static String getLocalMacAddress(Context paramContext)
{
String str = ((WifiManager)paramContext.getSystemService("wifi")).getConnectionInfo().getMacAddress();
if ((str == null) || ("".equals(str)))
return paramContext.getSharedPreferences("mac_address", 0).getString("mac_address", "");
SharedPreferences.Editor localEditor = paramContext.getSharedPreferences("mac_address", 0).edit();
localEditor.putString("mac_address", str);
localEditor.commit();
return str;
}
public static String getOriginalImei(Context paramContext)
{
String str = ((TelephonyManager)paramContext.getSystemService("phone")).getDeviceId();
if (str != null)
str = str.trim();
return str;
}
public static String getOriginalImsi(Context paramContext)
{
String str = ((TelephonyManager)paramContext.getSystemService("phone")).getSubscriberId();
if (str != null)
str = str.trim();
return str;
}
public static String getSerialNum()
{
try
{
Class localClass = Class.forName("android.os.SystemProperties");
String str = (String)localClass.getMethod("get", new Class[] { String.class, String.class }).invoke(localClass, new Object[] { "ro.serialno", "unknown" });
return str;
}
catch (Exception localException)
{
}
return null;
}
public static boolean hasWap(Context paramContext)
{
for (NetworkInfo localNetworkInfo : ((ConnectivityManager)paramContext.getSystemService("connectivity")).getAllNetworkInfo())
if (localNetworkInfo != null)
{
NetworkInfo.State localState = localNetworkInfo.getState();
if ((NetworkInfo.State.CONNECTED == localState) && (localNetworkInfo.getType() == 0))
{
String str = localNetworkInfo.getExtraInfo();
if (TextUtils.isEmpty(str))
return false;
return str.toUpperCase().indexOf("WAP") != -1;
}
}
return false;
}
}
0 0
- android系统获取系统相关信息(如Android设备的唯一ID等)(源码)
- android系统获取系统相关信息(如Android设备的唯一ID等)原理
- 获取Android设备的唯一 Android ID
- Android中对设备进行管理的一些方法(获取设备唯一标识码、设备分辨率信息等)
- android 获取设备Id等信息
- android 获取设备Id等信息
- Android设备唯一标识ID的获取
- Android获取设备唯一ID的方法
- Android获取设备唯一ID
- Android 获取设备唯一ID
- 获取android设备的各种系统信息
- Android获取系统相关的信息
- Android点滴(1):获取Android系统的唯一识别码
- Android获取设备、系统信息系列(1--13)
- Appium自动获取 Android 设备 id 和包名等信息(python)
- 获取android设备id的相关方法
- 解析Android获取系统cpu信息,内存,版本,电量等信息的方法详解(转)
- Android开发获取唯一设备ID
- 自己手打的模板
- fork() && fork() || fork()
- LuaXml库的编译
- excel 2007 直方图 条图 黑白 条纹填充
- 面试题-求一个串包含另一个串的最大子串长度的解法
- android系统获取系统相关信息(如Android设备的唯一ID等)(源码)
- [unix]指令大全
- 快速排序
- C#获取电脑的相关信息
- MySql常用控制语句
- 内存对齐
- ubuntu安装smb与windows共享文件
- 算法笔记--冒泡排序
- sysctl命令详解