android - 我怎样才能获得 MAC 地址 android 7.0

标签 android xml

获取不到mac地址 谁能帮帮我 我是android开发的新手请帮助我 list .xml

    <receiver
        android:name="com.example.v3rlu.authentification.DeviceAdmin"
        android:permission="android.permission.BIND_DEVICE_ADMIN">
        <meta-data android:name="android.app.device_admin"
            android:resource="@xml/xml" />
        <intent-filter>
            <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
            <action android:name="android.app.action.ACTION_DEVICE_ADMIN_DISABLE_REQUESTED" />
            <action android:name="android.app.action.ACTION_DEVICE_ADMIN_DISABLED" />
        </intent-filter>
    </receiver>

启动 Activity 检查

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_check);
    mac=(TextView) findViewById(R.id.textView) ;
    DeviceAdminReceiver admin = new DeviceAdminReceiver();
    DevicePolicyManager devicepolicymanager = 
    admin.getManager(getApplicationContext());
    ComponentName name1 = admin.getWho(getApplicationContext());
    if (devicepolicymanager.isAdminActive(name1)){
        mac_address = devicepolicymanager.getWifiMacAddress(name1);}

mac.setText(mac_address);
}}

对于 receiverclass 我从 android 网站得到了代码

最佳答案

试试这个。

public String getMacAddr() {
    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 "";
            }

            StringBuilder res1 = new StringBuilder();
            for (byte b : macBytes) {
                //res1.append(Integer.toHexString(b & 0xFF) + ":");
                res1.append(String.format("%02X:",b));
            }

            if (res1.length() > 0) {
                res1.deleteCharAt(res1.length() - 1);
            }
            return res1.toString();
        }
    } catch (Exception ex) {
    }
    return "";
}

在 list 中添加互联网权限

<uses-permission android:name="android.permission.INTERNET"/>

关于android - 我怎样才能获得 MAC 地址 android 7.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47607679/

相关文章:

android - 使用 ant 或 Eclipse 编译时出现多个 dex 文件错误

android - (ProgressBar) findViewById(R.id.ProgressBar) 返回 null

android - Intellij android 资源生成

java - 类必须声明为抽象或实现抽象方法错误

java - 如何在方向改变时停止整个 Activity 娱乐

java - 1 两个FrameLayout中的类

IOS 如何将日期与另一个日期进行比较?

java - 如何在 android studio 中添加 URL 到图像?

java - Android menuItem setChecked 不起作用

xml - 'anyURI'的xsd类型可以包含空格吗?