permissionsimplementation permission not for exist entry does ask access_fine_location access_coarse_location c# android usb xamarin.android xamarin

c# - not - xamarin forms my location requires permission access_fine_location or access_coarse_location



dispositivos usb android, c#Xamarin (2)

Parece que no tienes la configuración adecuada en tu manifiesto. Revise la configuración proporcionada en la página de Ayuda de accesorios USB de Android .

Como mínimo, deberá agregar la siguiente línea a su archivo AndroidManifest.xml.

<uses-feature android:name="android.hardware.usb.accessory" />

Sugerencia: AndroidManifest.xml se encuentra en la sección Propiedades de un proyecto Xamarin.

Recientemente comencé a escribir sobre Xamarin, y tengo algunos problemas con la escritura de código para ver los dispositivos conectados a mi host.

He leído la documentación de SDK, y todos los documentos están escritos en Java. Estoy intentando convertir Java en C # y codifiqué esto para encontrar los dispositivos conectados:

UsbManager manager = (UsbManager)GetSystemService (Context.UsbService); display.Text += " /n inizializzo il manager"; display.Text += "numero dispositivi: "; display.Text += manager.DeviceList.Count;

Con la aplicación "usb manager" puedo ver todo el usb conectado, hay 3. Pero con este código parece estar conectado a 0 usb.

No entiendo por qué.


Bueno, parece que ya has solucionado este problema, pero tal vez tenga algunos consejos adicionales para ti. En primer lugar, como has descubierto, USB-host solo es compatible con Android 3.1 y versiones superiores. En segundo lugar, debe agregar la "función de usos" al manifiesto de Android.

<uses-feature android:name="android.hardware.usb.host" android:required="false" />

Asegúrese de incluir required = "false" para asegurarse de que su aplicación pueda instalarse e iniciarse en un dispositivo que no admita USB-host (si usb-host es opcional para su aplicación).

En tercer lugar, te sorprendería saber cuántos dispositivos móviles modernos todavía no son compatibles con el modo de host y, en cuarto lugar, el puerto USB necesita suministrar suficiente energía para el dispositivo usb adjunto. Quinto y último punto: Android no es realmente adecuado para comunicaciones usb de "velocidad en tiempo real" de alta velocidad. Android tiene la mala costumbre de pausar todo el sistema y recoger basura antes de "desbloquear" y seguir adelante. Si intentas enviar una gran cantidad de datos a través de un usb a un ritmo constante, esto puede hacer que el buffer se llene cuando Android hace una pausa y el GC, y en la siguiente lectura del buffer, puedes encontrar datos corruptos. ¡Así que asegúrese de mirar su gestión de memoria al crear una aplicación que incluya comunicaciones usb! Descubrí que la configuración del puente Xamarin GC al modo "Tarjan" ayuda bastante a la hora de reducir las pausas inducidas por GC, aunque esto podría ser específico de mi aplicación.

Tal vez no sea una gran respuesta como respuesta a su pregunta, pero me sentí hablador;). ¡Buena suerte!

  • Editar: no se dio cuenta de que OP no especificó si quiere usar un accesorio usb o un dispositivo usb-host. Para un accesorio, ¡use la propina de Mike Stonis!