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

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

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

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

必要な権限

デバイスが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アドレスは、設定→ネットワークとインターネットに移動し、現在接続しているネットワークを選択することで確認できます。

5555番ポートで接続できない場合

一部の新しいAndroid TVやGoogle TVでは、5555番ポートに直接接続できず、ワイヤレスデバッグのペア設定が必要です。詳しい接続手順については、「バグレポートの取得方法」の「3-2. ワイヤレスデバッグのペア設定が必要な場合」を参照してください。

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

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

adb shell appops set jp.hapicom.cloudsignagepro SYSTEM_ALERT_WINDOW allow

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

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

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

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

特殊なケース: TCLのGoogle TV

一部のTCL製Google TVでは、TCL独自の「安全ガード」アプリによって、デバイス起動時のアプリ自動起動が制限されています。

「他のアプリの上に重ねて表示」の権限を許可している場合でも、下記の手順でクラウドサイネージの自動起動を別途許可する必要があります。

  1. アプリ一覧から「安全ガード」を開きます。
  2. 「パーミッションシールド」を開きます。
  3. 「自動起動のパーミッション」を開きます。
  4. 「オートマネージャー」をオフにします。アプリ上では「閉じた」と表示されます。
  5. アプリ一覧からクラウドサイネージを選択し、自動起動の権限をオンにします。アプリ上では「開いた」と表示されます。

設定後、デバイスを再起動し、クラウドサイネージが自動的に起動することを確認してください。

なお、「安全ガード」の画面構成や項目名は、TCL製Google TVの機種やソフトウェアのバージョンによって異なる場合があります。