Android Things意图启动

pro*_*ppy 9 android android-things

在将应用程序部署到Android Things后重新启动时,应用程序无法启动.

是否有特定的意图在启动时启动应用程序?

Blu*_*ell 17

如果您的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>
Run Code Online (Sandbox Code Playgroud)

(<DP8曾经需要IOT_LAUNCHER已被弃用)

然后默认情况下您的应用程序不会启动,而是会显示Intent Chooser对话框,系统将等待用户输入以选择要运行的应用程序.(这种情况发生了或者你没有插入实际的显示器.如果你没有显示器,它可能会显示为设备只是悬挂.)

我在这里编写了一个脚本:https://gist.github.com/blundell/7c0c3bb17898b28fe8122b0dc230af50,它将卸载所有具有上述Intent Filter的应用程序,以便您可以重新启动并且只安装了1个应用程序 - 因此该应用程序将在启动时启动.

脚本卸载示例


使用最新版本的AndroidThings,IntentChooser将不会再显示,但是当安装的其中一个应用程序被选中打开而其他应用程序没有打开时,问题可能会持续存在.


fis*_*hjd 6

添加 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>
Run Code Online (Sandbox Code Playgroud)

开发者预览版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>
Run Code Online (Sandbox Code Playgroud)

请参阅2018年4月16日的Android Things Release Candidate