为usb网卡设置ip地址之一
16lz
2021-01-23
当连接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; }
更多相关文章
- 新添的Activity 要在 manifest 中注册 否则界面跳转时会崩掉
- android 启动时会多显示一个闪现屏
- android的wifi网卡移植详细过程已经通用驱动的问题
- Android中查看网卡设备信息
- 网卡多队列技术与RSS功能的详细介绍
- linux系统中重启网卡后网络不通(NetworkManager篇)
- linux系统操作系统网卡漂移解决方案及问题原因
- 为什么在vs里使用css时会说FILTER非已知的css属性名.放在前端html
- PHP / MySQL - 有时会将空白条目添加到表中