How to verify RNDIS support on a handheld device

What API support is there to identify RNDIS support on a device?
If that question is better answered somewhere else, then maybe a better question is how would a developer programmatically determine the user has a tactical device? I’m trying to do this in an application.

Android’s NetworkInterface can be used to access “enabled” interfaces but if rndis is not enabled in USB configuration, it does not appear in the enumeration.

Enumeration<NetworkInterface> enifs = NetworkInterface.getNetworkInterfaces();

If rndis is enabled, this will return the NetworkInterface.

NetworkInterface rndis_i = NetworkInterface.getByName("rndis0");

To check USB tethering, you can check the link.


1 Like

Thanks for the reply.
The link provides methods to reach tetherable interfaces supported by android. That is not what I’m trying to accomplish. For anyone that would like to know, this is what you’ll get for ‘tetherableUSB’ options (using minSdkVersion 23):
["usb\d", "rndis\d", "ncm\d"]

I’m trying to gain knowledge about “USB configuration” options a device has. On an Android device, if you were to go to the ‘USB configuration’ menu, there would be a list provided with transfer protocol/power options. How do I get access to this list?

If that is not possible, is there a way to check if a device is a tactical edition? If my assumption is correct, Samsung’s tactical edition devices support rndis.