我是android
编程新手,我的项目需要serial communication
arduino board
。我开始通过导入ArduinoUSB的source code
来构建我的第一个项目。
在此代码中,我使用android device
中的OTG mode
,arduino board
作为slave
连接。它实现了pseudo serial device
。
我很容易在communicate
上成功wiko smartphone (android 5.1)
,但我无法在ezeepad 785 tablet running android 4.1.1
上运行。
我最初认为tablet
不支持OTG
,但事实并非如此,因为如果我通过{memory stick
连接了tablet
{1}},我可以看到文件中的文件。
然而,在我的OTG cable
上,当我第一次wiko phone
connect
时,我在连接上获得arduino board
“打开dialog
这个ArduinoUSB
?“,我的usb device
永远不会发生这种情况。
为了调查,我在代码中添加了tablet
语句,以显示在printout
的连接上激活了哪些方法。
再次,在我arduino board
wiko phone
上的screen
上,我发现broadcast message
为received
VID
arduino board
code
tablet
等等
当我在broadcast message
上运行相同的arduino board
时,没有任何反应。没有installed
连接USB OTG
的证据。
我从play store
获得了arduino board
wiko phone
检查器应用程序,此应用再次显示tablet
上的tablet
已连接,并且没有任何关联在partial OTG
。
memory stick
是否可能实现仅支持wiko phone
的{{1}}函数,甚至将其隐藏到另一个应用程序?对于我的memory stick
,如果我连接VID
,我可以阅读screen
上的code
感谢我在{{1}中添加的额外打印件}}。这不会发生在tablet
。
我在wit's
结束......
答案 0 :(得分:0)
只是为了说清楚:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.user.someApp">
<uses-feature
android:name="android.hardware.usb.host"
android:required="true" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name=".UsbService"
android:enabled="true" />
</application>
</manifest>
答案 1 :(得分:0)
TheEngineer,感谢你花时间检查我的问题。
我的清单是:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hariharan.arduinousb" >
<uses-feature android:name="android.hardware.usb.host" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.hariharan.arduinousb.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<meta-data
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
android:resource="@xml/device_filter" />
</activity>
</application>
</manifest>
如你所见: 在uses-feature中,缺少.required参数。我加了。 / service块也丢失了。我尝试添加它,但得到了“未解析的类引用”错误。在我下载的项目的.zip中(见上面的链接),这个陈述不存在。
但是,在此更正之后,行为是相同的:在API 22上检测到USB设备,而不是在API 16上检测到。