デバイスの起動時にアプリを自動で開始する方法はありますか?

「サイネージ即時開始」および「アプリ自動起動」の両方の設定をオンにすることで、デバイスの起動時にサイネージを開始できます。

  • サイネージ即時開始:アプリが起動されたときに即座にサイネージを開始します。
  • アプリ自動起動:デバイスが起動されたときにアプリを立ち上げます。

アプリ自動起動の設定は企業向けライセンスのみの機能です。

必要な権限

デバイスがAndroid 9以前のとき、特に権限について気にしなくてもアプリ自動起動が可能です。

デバイスがAndroid 10以降の場合、アプリ自動起動をオンにするには「他のアプリの上に重ねて表示 (Display over other apps)」の権限を許可する必要があります。アプリ自動起動をオンに設定しようとしたとき、この権限を許可するよう促すメッセージがユーザに表示されます。

screen1

特殊なケース: Android TV 10

Android TV 10は「他のアプリの上に重ねて表示」の権限を必要としますが、システムの設定項目に存在しないため権限を許可できないという不具合があります。この不具合はGoogleに認識されていますが、GoogleはAndroid TV 11以降の開発を優先するためこの不具合を修正しないと宣言しています。

幸いこの設定は内部的には実装されていますので、このYouTube動画または下記の手順を進めることでAndroid TV 10でも「他のアプリの上に重ねて表示」の権限を許可できます。

1. Android SDK Platform-ToolsをPCにダウンロード

ツールはAndroidの公式ページよりダウンロードできます。

後でadbコマンドを使用するため、ダウンロードしたファイルのパスを覚えておいてください。

2. USBデバッグを有効化

Android TVにadbコマンドで接続するためには、Android TV側でUSBデバッグを有効にしておく必要があります。

まず、デバイス設定→デバイス情報に移動し、「ビルド」を連続で何回かクリックして開発者向けオプションを有効にします。

開発者向けオプションが表示されるようになるので、USBデバッグを有効にします。

3. PCでadbコマンドを使用してAndroid TVデバイスに接続

コマンドは以下のとおりです。「192.168.X.X」の部分はデバイスのIPアドレスに置き換えてください。

adb connect 192.168.X.X:5555

なおAndroid TVのIPアドレスは、設定→ネットワークとインターネットに移動し、現在接続しているネットワークを選択することで確認できます。

4. PCでadbコマンドを使用して権限を許可

コマンドは以下のとおりです。

adb shell appops set jp.hapicom.cloudsignagepro SYSTEM_ALERT_WINDOW allow

特殊なケース: 一部のHUAWEIデバイス

一部のHUAWEIデバイスは、EMUIと呼ばれるカスタマイズされたAndroidベースのOSを使用しています。

EMUI上では、デバイス起動時に自動的にアプリを立ち上げるためにEMUI固有の設定が必要です。

具体的には、バッテリー→アプリ起動に移動し、自動的に管理しないように設定する必要があります。