アプリケーションをAndroid Thingsにデプロイした後に再起動すると、アプリケーションが起動しません。
起動時にアプリケーションを開始する特定の意図はありますか?
アプリケーションをAndroid Thingsにデプロイした後に再起動すると、アプリケーションが起動しません。
起動時にアプリケーションを開始する特定の意図はありますか?
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
)
その後、アプリケーションはデフォルトでは起動しません。代わりに、Intent Chooser ダイアログが表示され、システムは実行するアプリを選択するためのユーザー入力を待機します。(これは、実際のディスプレイが接続されているかどうかに関係なく発生します。ディスプレイがない場合は、デバイスがハングしているように見える場合があります。)
ここにスクリプトを書きました: https://gist.github.com/blundell/7c0c3bb17898b28fe8122b0dc230af50上記のインテント フィルターを持つすべてのアプリケーションをアンインストールして、再起動して 1 つのアプリケーションのみをインストールできるようにします。したがって、このアプリケーションは起動時に起動します。 .
AndroidThings の最新バージョンでは、IntentChooser が表示されなくなりましたが、インストールされているアプリの 1 つが選択されて開き、他のアプリが開かないため、問題が解決しない場合があります。
追加AndroidManifest.xml
Developer Preview 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>
Developer Preview 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
を追加する必要がありますAndroidManifest.xml
<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>
アプリで Android Things をサポートするには、起動時にシステムが自動的に起動するメイン エントリ ポイントを定義する必要があります。
CATEGORY_DEFAULT
アクティビティのインテント フィルタを追加するには、との両方を含むインテント フィルタを含める必要がありますIOT_LAUNCHER
。
<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 アプリでの Android Things のホーム アクティビティ サポートを確認してください。