为usb网卡设置ip地址之一
16lz
2021-12-04
当连接usb网卡时会弹出此界面(需内核usb网卡驱动支持)
device_filter.xml,指定要监视的usb网卡设备
MainActivity.java
<activity android:name=".MainActivity" android:label="@string/app_name" android:launchMode="singleInstance" android:screenOrientation="landscape"> <intent-filter> <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> </intent-filter> <meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" android:resource="@xml/device_filter" /> </activity>
device_filter.xml,指定要监视的usb网卡设备
<resources> <usb-device vendor-id="1060" product-id="38144" /></resources>
MainActivity.java
private static final String ETH0 = "eth0";protected void onResume() { ... UsbDevice device = (UsbDevice)getIntent().getParcelableExtra(UsbManager.EXTRA_DEVICE); if (device != null) { printf("first connect"+device.toString()) } else if (isEth0Connected()){ printf("had connected already") } ...} private boolean isEth0Connected() { IBinder b = ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE); INetworkManagementService service = INetworkManagementService.Stub.asInterface(b); String[] currentIfaces = new String[0]; try { currentIfaces = service.listInterfaces(); } catch (Exception e) { Log.w(TAG, "listInterfaces="+e); return false; } boolean found = false; for (String currIface: currentIfaces) { if (currIface.equals(ETH0)) { Log.d(TAG, "eth0 iface found"); found = true; break; } } return found; }
更多相关文章
- 国外Android面试题
- Android(安卓)编译环境搭建
- Android(安卓)WebView在系统进程中无法使用
- 前阿里技术总监手打:452页Android(安卓)Framework 精编内核解析
- 前阿里技术总监手打:452页Android(安卓)Framework 精编内核解析
- 从0系统学 Android--1.1认识 Android
- android开发学习笔记(2)android的基本介绍
- Android内核开发:源码的版本与分支详解
- Android移植成功:linux-2.6.25.8+U盘挂载