Android OTG Detect App
Android
2
Posts
2
Posters
0
Views
1
Watching
-
How to use app to detect when otg cable is plugged in and when it's plugged out? Is there intent for otg cable like this for usb devices: "android.hardware.usb.action.USB_DEVICE_ATTACHED" I have created app like this but I only detects flash drive not otg cable:
public class MainActivity extends AppCompatActivity
{private TextView mInfo; private Logger mLogger; private HashMap mHashMap = new HashMap(); private UsbManager mUsbManager; private PendingIntent mPermissionIntent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity\_main); mInfo = (TextView)findViewById(R.id.log); mLogger = new Logger(this); mLogger.setMode(Logger.MODE\_TOAST); mUsbManager = (UsbManager) getSystemService(Context.USB\_SERVICE); usbConnection(); } private void usbConnection() { IntentFilter filter = new IntentFilter(UsbManager.ACTION\_USB\_DEVICE\_ATTACHED); registerReceiver(mUsbAttachReceiver , filter); filter = new IntentFilter(UsbManager.ACTION\_USB\_DEVICE\_DETACHED); registerReceiver(mUsbDetachReceiver , filter); mPermissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION\_USB\_PERMISSION), 0); filter = new IntentFilter(ACTION\_USB\_PERMISSION); registerReceiver(mUsbReceiver, filter); showDevices(); } protected void onDestroy() { super.onDestroy(); unregisterReceiver(mUsbDetachReceiver); unregisterReceiver(mUsbAttachReceiver); unregisterReceiver(mUsbReceiver); }; BroadcastReceiver mUsbDetachReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (UsbManager.ACTION\_USB\_DEVICE\_DETACHED.equals(action)) { UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA\_DEVICE); if (device != null) { // call your method that cleans up and closes communication with the device UsbDataBinder binder = mHashMap.get(device); if (binder != null) { binder.onDestroy(); mHashMap.remove(device); Toast.makeText(MainActivity.this, "Attached!", Toast.LEN
-
How to use app to detect when otg cable is plugged in and when it's plugged out? Is there intent for otg cable like this for usb devices: "android.hardware.usb.action.USB_DEVICE_ATTACHED" I have created app like this but I only detects flash drive not otg cable:
public class MainActivity extends AppCompatActivity
{private TextView mInfo; private Logger mLogger; private HashMap mHashMap = new HashMap(); private UsbManager mUsbManager; private PendingIntent mPermissionIntent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity\_main); mInfo = (TextView)findViewById(R.id.log); mLogger = new Logger(this); mLogger.setMode(Logger.MODE\_TOAST); mUsbManager = (UsbManager) getSystemService(Context.USB\_SERVICE); usbConnection(); } private void usbConnection() { IntentFilter filter = new IntentFilter(UsbManager.ACTION\_USB\_DEVICE\_ATTACHED); registerReceiver(mUsbAttachReceiver , filter); filter = new IntentFilter(UsbManager.ACTION\_USB\_DEVICE\_DETACHED); registerReceiver(mUsbDetachReceiver , filter); mPermissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION\_USB\_PERMISSION), 0); filter = new IntentFilter(ACTION\_USB\_PERMISSION); registerReceiver(mUsbReceiver, filter); showDevices(); } protected void onDestroy() { super.onDestroy(); unregisterReceiver(mUsbDetachReceiver); unregisterReceiver(mUsbAttachReceiver); unregisterReceiver(mUsbReceiver); }; BroadcastReceiver mUsbDetachReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (UsbManager.ACTION\_USB\_DEVICE\_DETACHED.equals(action)) { UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA\_DEVICE); if (device != null) { // call your method that cleans up and closes communication with the device UsbDataBinder binder = mHashMap.get(device); if (binder != null) { binder.onDestroy(); mHashMap.remove(device); Toast.makeText(MainActivity.this, "Attached!", Toast.LEN