An aftermarket Android head unit should support steering wheel controls, this function is usually supported by a CAN-BUS decoder box which connect with a small plug from the power cables.
The BMW E46 Android head unit can support steering wheel controls. While if you find your steering wheel control does not work after installation of the BMW E46 Android head unit, then you should check the CAN-BUS decoder.

Sometimes your installer may forget to connect this CAN-BUS box, and leave it alone. It may be still in the package box, check carefully to look for it, or confirm with your installer to see if they have placed it elsewhere.
As a responsible seller of DVDGPSNAV, we will check carefully before shipping to make sure all accessories are included and make sure the BMW E46 Android unit works well while testing. So do your best to find the CAN-BUS decoder in the package or any other places.
When you find out the CAN-BUS, that’s great news. Then you can check a small white plug from the power cables, this small white plug is used to connect with the CAN-BUS decoder. If your BMW E46 should be used with a short 17 pins connectors power cable, the plug for the CAN-BUS decoder box is as below:

While if your BMW E46 is with a wide screen in the center console, then you will need to use a long cable to connect your 17 pins or 40 pins connectors/plug in the trunk, and the CAN-BUS plug is coming from a separate cable, I’m sure you can easily find it, so the CAN-BUS decoder should also be connected in the trunk.
After installation of BMW E46 Android radio, if you have connected the CAN-BUS decoder well, your steering wheel control should work now. If still does not work, you can contact the seller for a software upgrade or replace the CAN-BUS box.