当我部署应用程序到Android Things后重新启动设备,应用程序没有启动。
是否有特定的意图来在启动时启动应用程序?
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
( < DP8原来需要IOT_LAUNCHER
,但现在已弃用)
然后您的应用程序将不会默认启动,而是会显示意图选择器对话框,并且系统会等待用户输入以选择要运行的应用程序。(无论是否实际连接了显示器都会发生这种情况。如果没有显示器,设备可能会似乎只是挂起。)
我在这里编写了一个脚本:https://gist.github.com/blundell/7c0c3bb17898b28fe8122b0dc230af50,该脚本将卸载具有上述意图过滤器的所有应用程序,以便您可以重新开始,并仅安装1个应用程序-因此此应用程序将在启动时启动。
使用最新版本的AndroidThings,意图选择器将不再显示,但问题可能仍会存在,因为其中一个已安装的应用程序被选中打开,而其他应用程序则未打开。
添加到 AndroidManifest.xml
开发者预览版0.8及更高版本(新风格)
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
在开发者预览版0.8(旧版)之前
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.IOT_LAUNCHER"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.IOT_LAUNCHER"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
你试过他们的演示应用吗?在编写自己的应用程序之前,请先尝试使用此链接。这应该可以正常工作。稍后再根据您的需要进行更改。
只需不要删除您代码中的AndroidManifest.xml部分。
<!-- Launch activity automatically on boot -->
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.IOT_LAUNCHER"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
用户fishjd的答案,帮了我很多。如果那个方法不行,可以尝试使用adb删除应用程序,并重新安装它。
adb uninstall <packet>
<application
android:label="@string/app_name">
<activity android:name=".HomeActivity">
<!-- Launch activity as default from Android Studio -->
<!-- For ease of development, this same activity should include a CATEGORY_LAUNCHER intent filter so Android Studio can launch it as the default activity when deploying or debugging. -->
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<!-- Add below intent filter which enable android things support for app -->
<!-- Launch activity automatically on boot -->
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.IOT_LAUNCHER"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
在 Android 应用程序中检查 Home activity support,了解 Android Things。
01-01 00:00:59.516 639-639/com.android.iotlauncher D/IoTLauncher: 发现2个具有启动器意图的活动 01-01 00:00:59.516 639-639/com.android.iotlauncher W/IoTLauncher: 找到多个具有启动器意图的应用程序。启动第一个找到的 01-01 00:00:59.624 639-639/com.android.iotlauncher I/IoTLauncher: 软件版本7.0
- remcoder