我有一个用于测量电流的定制设备.该设备可以连接到PC,通过USB进行通信.它基于FTDI芯片.我有用Java编写的应用程序,该应用程序使用rxtxSerial.dll库和gnu.io.rxtx_2.1.7.4.jar.现在我想在我的Android设备上移植这个应用程序,我有点迷惑该怎么做?我只有Android平板电脑(os版本4.1.1),OTG电缆和这个测量设备.
我的设备应该扎根吗?是否有任何类型的库可以简单地添加到我的Java Android应用程序并通过USB读取数据?从哪儿开始?
我试图使用相同的库移植现有的PC应用程序,但rxtxSerial.dll丢失,我无法将其传输到我的Android设备.
假设我有一个USB供电的LED灯通过USB OTG适配器连接到运行Android 4.0.3的Toshiba Excite 10平板电脑,它可以提供电源.
我想以编程方式从应用程序打开和关闭USB OTG主机端口的电源引脚.(理想情况下没有root,但我会接受我能得到的).有任何想法吗?
Android 6.0开发人员预览版(API级别23)可以本机安装外置的可移动USB OTG存储,无需任何其他应用程序(有关详细信息,请参阅:https://www.androidpolice.com/2015/05/28/android-m-feature-spotlight-external-storage-can-be-as-true-internal-storage-or-access-normal-with-no-additional-apps /).
当用户连接USB OTG存储时,它会显示在系统存储菜单中,并可通过内置文件管理器访问.用户可以使用没有root权限的新内置文件管理器访问USB OTG外部存储器上的所有文件.
当我将USB OTG存储连接到我的Android设备时,它会安装/storage/A03E-1DF5在/mnt/media_rw/A03E-1DF5,但也会安装,但访问此文件夹需要root权限.
我正在研究Android媒体播放器应用.
是否有可能以及如何在我的应用程序中访问Android 6.0上的USB OTG存储上的文件,如没有root权限的内置文件管理器?
PS我已经使用checkSelfPermission,并requestPermissions在我的应用程序的功能和我的应用程序已经有android.permission.READ_EXTERNAL_STORAGE和android.permission.WRITE_EXTERNAL_STORAGE(更多信息请参阅:https://www.androidpolice.com/2015/07/15/android-m-feature-spotlight-apps-now-需要你的权限读取和写入外部存储/),但看起来这些权限只影响内部存储(MicroSD),而对于USB OTG则没有这样的细化权限.
file-io android usb-otg android-external-storage android-6.0-marshmallow
在我的Android应用程序中,我通过USB-OTG从3DConnexion SpaceNavigator读取值来控制AR.Drone.
现在我想用鼠标做同样的事情.但是,Android正在抓取鼠标并显示鼠标光标.当我使用鼠标的供应商和产品ID编写设备过滤器时,我不会像使用SpaceNavigator那样得到它(strangely, both are HID -- I get no cursor with the SpaceNavigator).
有没有办法在没有光标的情况下获取原始鼠标数据?
与Android股票完美搭配.但我也会考虑改变ROM.
我想获取连接到Android设备的所有存储设备的列表.
例如 - 内部存储(存储所有文件夹,如下载,DCIM等),SD卡和OTG设备.
我知道有很多StackOverflow帖子讨论了这个主题,但没有一个可以满足我的目的,如上所述.
我可以通过调用Environment.getExternalStorageDirectory().getPath()返回内部存储的路径来获取内部存储.
对此的任何帮助都将非常感激,因为没有标准的AFAIK可以使用它来检索所有连接的存储设备的列表.
此外,许多解决方案不适用于不同的设备和Android版本.
我正在尝试在USB闪存上创建一个带有FatFs的文件,但是我的f_open调用尝试读取第一次文件系统挂载的启动扇区时挂起了这个函数.
DRESULT disk_read (
BYTE drv, /* Physical drive number (0) */
BYTE *buff, /* Pointer to the data buffer to store read data */
DWORD sector, /* Start sector number (LBA) */
BYTE count /* Sector count (1..255) */
)
{
BYTE status = USBH_MSC_OK;
if (drv || !count) return RES_PARERR;
if (Stat & STA_NOINIT) return RES_NOTRDY;
if(HCD_IsDeviceConnected(&USB_OTG_Core))
{
do
{
status = USBH_MSC_Read10(&USB_OTG_Core, buff,sector,512 * count);
USBH_MSC_HandleBOTXfer(&USB_OTG_Core ,&USB_Host);
if(!HCD_IsDeviceConnected(&USB_OTG_Core))
{
return RES_ERROR;
}
}
while(status == …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用React-Native开发应用程序时将USB设备(使用USB OTG)连接到我的Android设备.经典地调试Android应用程序,一个使用USB调试模式通过adb连接,但由于我的USB端口用于我的USB OTG设备,这是不可能的.
我尝试使用该adb tcpip方法(如何通过TCP连接Android与ADB?)但这不起作用,因为我的设备找不到'开发服务器'.有没有人有这样的调试运气?
我正在编写Android设备是主机的应用程序.用户将USB驱动器连接到Android设备,我的应用程序将在USB驱动器中写入一些文本文件.文本文件的路径就像USB_DRIVE/Data/APP_NAME/myfile.txtUSB驱动器内部一样.
应用程序还应该能够从特定位置读取文本文件,如果它可以列出文件USB_DRIVE/Data/APP_NAME夹中的所有文件并且用户可以选择文件,则应该更好.
我在官方android开发站点找到了代码
UsbInterface intf = device.getInterface(0);
UsbEndpoint endpoint = intf.getEndpoint(0);
UsbDeviceConnection connection = mUsbManager.openDevice(device);
connection.claimInterface(intf, forceClaim);
connection.bulkTransfer(endpoint, bytes, bytes.length, TIMEOUT);
Run Code Online (Sandbox Code Playgroud)
我不知道如何使用bytes数组在USB_DRIVE的特定路径中写入文件.
仅供参考:我的设备中没有类似于/storage/usb0/或的路径/storage/usbdisk0/.在里面/storage/,文件结构如下,
我的测试设备是Nexus 10.
我尝试使用ES File explorer app并使用此应用程序,我可以成功地将任何文件从SD_CARD移动/复制到USB_DRIVE; 即:OTG工作正常,从App到USB_DRIVE的读/写文件是可行的.传输任何文件后,ES显示文件的路径,如,usb://1002/myfile.txt.
如果我可以使用ES意图编写/移动/读取文件或者也可以使用某些东西.
或者,如果任何FTP解决方案可以帮助我实现功能,我会去实现它.
谢谢.
我正在使用自定义OTG指纹扫描仪.我想在特定的Android活动中检查OTG是否已连接到我的Android设备.
我已经检查了一段时间将外部驱动器安装到Android手机,即,如果我将外部驱动器(硬/闪存/相机)插入Android设备,Android手机应该能够访问存储文件系统.
市场上有应用程序通过电话控制外部设备.
我可以使用USB主机模式{ http://developer.android.com/guide/topics/connectivity/usb/index.html }与USB设备进行通信.但是Android 3.1(API级别12)或更新的平台直接支持USB主机和附件模式.
虽然名为DSLR Controller { https://play.google.com/store/apps/details?id=eu.chainfire.dslrcontroller&hl=en } 的应用需要Android 2.1或更高版本.由于该应用程序是基于通过Android手机访问相机.如果应用程序显示正确的信息,那么访问相机(或任何其他驱动器)存储的任务似乎是可能的.
但我也希望在较低版本中使用该应用程序.任何形式的帮助将不胜感激.
如果需要更多问题描述,请发表评论.
谢谢.