Как программно получить MAC-адрес устройства Android?
MAC расшифровывается как Media Access Control . MAC-адрес также известен как идентификационный номер оборудования. Этот MAC-адрес предоставляется картой сетевого интерфейса. В этой статье мы рассмотрим шаг за шагом от создания нового пустого проекта до того, как сделать приложение для Android для отображения MAC-адреса с помощью Java.
Пошаговая реализация
Шаг 1: Откройте «Android Studio» и нажмите «Новый проект».
Шаг 2: Выберите «Пустая активность».
Шаг 3: Выберите Java в качестве языка для вашего Android-приложения и дайте ему любое имя.
Шаг 4. Добавьте следующие разрешения в файл AndroidManifest.xml .
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name = "android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
Файл AndroidManifest.xml будет выглядеть так
XML
<? xml version = "1.0" encoding = "utf-8" ?> package = "com.app.getmymac" > <!-- Permissions --> < uses-permission android:name = "android.permission.ACCESS_FINE_LOCATION" /> < uses-permission android:name = "android.permission.ACCESS_WIFI_STATE" /> < uses-permission android:name = "android.permission.LOCAL_MAC_ADDRESS" /> <!-- Permissions --> < application android:allowBackup = "true" android:dataExtractionRules = "@xml/data_extraction_rules" android:fullBackupContent = "@xml/backup_rules" android:icon = "@mipmap/ic_launcher" android:label = "@string/app_name" android:roundIcon = "@mipmap/ic_launcher_round" android:supportsRtl = "true" android:theme = "@style/Theme.GetMyMAC" tools:targetApi = "31" > < activity android:name = ".MainActivity" android:exported = "true" > < intent-filter > < action android:name = "android.intent.action.MAIN" /> < category android:name = "android.intent.category.LAUNCHER" /> </ intent-filter > </ activity > </ application > </ manifest > |
Шаг 5: Создайте простой дизайн для отображения MAC-адреса.
Перейдите к app > res > layout > activity_main.xml и добавьте приведенный ниже код в этот файл. Ниже приведен код файла activity_main.xml .
XML
<? xml version = "1.0" encoding = "utf-8" ?> < RelativeLayout android:layout_width = "match_parent" android:layout_height = "match_parent" tools:context = ".MainActivity" > < TextView android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:text = "You Device"s MAC Address " android:textSize = "20sp" android:textColor = "@color/black" android:layout_centerHorizontal = "true" android:layout_above = "@id/mac_id" /> < TextView android:id = "@+id/mac_id" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_centerInParent = "true" android:text = "MAC ID" android:textSize = "22sp" /> </ RelativeLayout > |
Приведенный выше код делает пользовательский интерфейс таким, как показано ниже.
Шаг 6. Теперь мы находимся на заключительном этапе проекта. Импортируйте классы WifiInfo и WifiManager , используя приведенные ниже строки кода в MainActivity.java .
import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager;
Шаг 7: Перейдите к файлу MainActivity.java и обратитесь к следующему коду. Ниже приведен код файла MainActivity.java .
Java
import android.annotation.SuppressLint; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Bundle; import android.view.View; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { TextView macIdTV; @SuppressLint ( "MissingPermission" ) @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); macIdTV = findViewById(R.id.mac_id); WifiManager wifiMgr = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE); WifiInfo wifiInfo = wifiMgr.getConnectionInfo(); final String MAC_ADDRESS = wifiInfo.getMacAddress(); macIdTV.setText(MAC_ADDRESS); macIdTV.setVisibility(View.VISIBLE); } } |
Теперь все настроено, просто запустите приложение, и вы сможете увидеть MAC-адрес вашего Android-устройства. Ура!
Выход: