通过网络接口取MAC地址
/**
* 通过网络接口取
* @return
*/
public static String getNewMac() {
try {
List<NetworkInterface> all = Collections.list(NetworkInterface.getNetworkInterfaces());
for (NetworkInterface nif : all) {
if (!nif.getName().equalsIgnoreCase("wlan0")) continue;
byte[] macBytes = nif.getHardwareAddress();
if (macBytes == null) {
return null;
}
StringBuilder res1 = new StringBuilder();
for (byte b : macBytes) {
res1.append(String.format("%02X:", b));
}
if (res1.length() > 0) {
res1.deleteCharAt(res1.length() - 1);
}
return res1.toString();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
跳转到应用详情界面
/**
* 跳转到应用详情界面
*/
public static void gotoAppDetailIntent(Activity activity) {
Intent intent = new Intent();
intent.setAction(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:" + activity.getPackageName()));
activity.startActivity(intent);
}
获取32位uuid
/**
* 32位默认长度的uuid
* (获取32位uuid)
*
* @return
*/
public static String getUUID() {
return UUID.randomUUID().toString().replaceAll("-", "");
}
获取指定长度uuid
/**
* (获取指定长度uuid)
*
* @return
*/
public static String getUUID(int len) {
if (0 >= len) {
return null;
}
String uuid = getUUID();
StringBuffer str = new StringBuffer();
for (int i = 0; i < len; i++) {
str.append(uuid.charAt(i));
}
return str.toString();
}
是否使用模拟器
这里用的是第三方的库,需要添加依赖:
implementation 'com.scottyab:rootbeer-lib:0.0.8'
public static boolean isSystemRoot(Context activity) {
boolean isRoot = false;
RootBeer rootBeer = new RootBeer(activity);
if (rootBeer.isRooted()) {
isRoot = true;
} else {
isRoot = false;
}
return isRoot;
}
获取IMEI
/**
* 获取IMEI
* @return
*/
public static String getPhoneIMEI(Context context) {
TelephonyManager manager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
try {
Method method = manager.getClass().getMethod("getImei", int.class);
String imei1 = (String) method.invoke(manager, 0);
String imei2 = (String) method.invoke(manager, 1);
return imei1;
} catch (Exception e) {
e.printStackTrace();
}
return "";
}