Пример #1
0
        protected override async void OnResume()
        {
            base.OnResume();

            adapter = new UsbSerialPortAdapter(this);


            await PopulateListAsync();

            //register the broadcast receivers
            detachedReceiver = new UsbDeviceDetachedReceiver(this);
            RegisterReceiver(detachedReceiver, new IntentFilter(UsbManager.ActionUsbDeviceDetached));
            attachedReceiver = new UsbDeviceAttachedReceiver(this);
            RegisterReceiver(attachedReceiver, new IntentFilter(UsbManager.ActionUsbDeviceAttached));
        }
Пример #2
0
        protected override async void OnResume()
        {
            base.OnResume();

            adapter = new UsbSerialPortAdapter(this);

            button.Click += async(sender, e) => {
                await OnItemClick(sender);
            };

            await PopulateListAsync();

            //register the broadcast receivers
            detachedReceiver = new UsbDeviceDetachedReceiver(this);
            RegisterReceiver(detachedReceiver, new IntentFilter(UsbManager.ActionUsbDeviceDetached));
        }
        /* public boolean grantAutomaticPermission(UsbDevice usbDevice)
         * {
         * try
         * {
         *     Context context=YourActivityOrApplication;
         *     PackageManager pkgManager=context.getPackageManager();
         *     ApplicationInfo appInfo=pkgManager.getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);
         *
         *     Class serviceManagerClass=Class.forName("android.os.ServiceManager");
         *     Method getServiceMethod=serviceManagerClass.getDeclaredMethod("getService",String.class);
         *     getServiceMethod.setAccessible(true);
         *     android.os.IBinder binder=(android.os.IBinder)getServiceMethod.invoke(null, Context.USB_SERVICE);
         *
         *     Class iUsbManagerClass=Class.forName("android.hardware.usb.IUsbManager");
         *     Class stubClass=Class.forName("android.hardware.usb.IUsbManager$Stub");
         *     Method asInterfaceMethod=stubClass.getDeclaredMethod("asInterface", android.os.IBinder.class);
         *     asInterfaceMethod.setAccessible(true);
         *     Object iUsbManager=asInterfaceMethod.invoke(null, binder);
         *
         *
         *     System.out.println("UID : " + appInfo.uid + " " + appInfo.processName + " " + appInfo.permission);
         *     final Method grantDevicePermissionMethod = iUsbManagerClass.getDeclaredMethod("grantDevicePermission", UsbDevice.class,int.class);
         *     grantDevicePermissionMethod.setAccessible(true);
         *     grantDevicePermissionMethod.invoke(iUsbManager, usbDevice,appInfo.uid);
         *
         *
         *     System.out.println("Method OK : " + binder + "  " + iUsbManager);
         *     return true;
         * }
         * catch(Exception e)
         * {
         *     System.err.println("Error trying to assing automatic usb permission : ");
         *     e.printStackTrace();
         *     return false;
         * }
         * }*/

        protected override async void OnResume()
        {
            base.OnResume();
            firstTime        = true;
            adapter          = new UsbSerialPortAdapter(this);
            listView.Adapter = adapter;

            listView.ItemClick += async(sender, e) =>
            {
                await OnItemClick(sender, e);
            };

            await PopulateListAsync();
            await OpenActivity(); //nuevo

            //register the broadcast receivers
            detachedReceiver = new UsbDeviceDetachedReceiver(this);
            RegisterReceiver(detachedReceiver, new IntentFilter(UsbManager.ActionUsbDeviceDetached));
        }