读书人

替usb网卡设置ip地址之一

发布时间: 2012-06-29 15:48:47 作者: rapoo

为usb网卡设置ip地址之一
当连接usb网卡时会弹出此界面(需内核usb网卡驱动支持)

        <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;    }

读书人网 >移动开发

热点推荐