Android Service の例

この例では、Kanzi Android Service を使用して、複数の独立したクライアントアプリケーションに Kanzi の機能を提供する方法を示します。アプリケーション間を切り替えるときには、アプリケーションをまたいだシームレスなトランジションアニメーションが使用されます。

この例では、プレハブのプリロードも示します。クライアントを起動する前にサービスホストアプリケーションを起動すると、サービスが Kanzi コンテンツをプリロードするため、クライアントは Kanzi コンテンツをすぐに表示できます。

要件

  • JDK 17

  • Gradle 8.7

  • Android Gradle プラグイン 8.6.0

  • Android Studio Giraffe 以降

  • API レベル 29 以上の Android デバイスまたはエミュレーター

例の入手

この例を入手するには、Kanzi Studio Quick Start ウィンドウで Examples をクリックします。Transition Animation の例の横にある ダウンロード をクリックします。

Kanzi Studio は、この例を <KanziWorkspace>/Examples/Android/TransitionAnimation ディレクトリにダウンロードします。

内容

この例は、次の 3 つの主要なコンポーネントで構成されています。

  • Application: Kanzi Android Service をホストし、プレハブのプリロードを設定するサービスホストアプリケーション。

  • Launcher:ホーム画面を表示する、View ベースの UI を備えたクライアントアプリケーション。

  • Settings:インタラクティブな車両コントロールを表示する、View ベースの UI を備えたクライアントアプリケーション。

両方のクライアントアプリケーションが、サービスホストアプリケーションがホストする単一の Kanzi インスタンスを使用します。

ビルドとインストール

この例をビルドしてインストールするには、以下の手順に従います。

  1. Android デバイスまたはエミュレーターが起動し、接続されていることを確認します。

  2. 各アプリケーションをビルドしてインストールします。

    cd Examples/Android/TransitionAnimation/Application/configs/platforms/android_gradle
    ./gradlew installRelease
    
    cd Examples/Android/TransitionAnimation/Launcher
    ./gradlew installRelease
    
    cd Examples/Android/TransitionAnimation/Settings
    ./gradlew installRelease
    
  3. Display over other applications 権限は、サービスホスト (Application) にのみ付与します。トランジションオーバーレイをレンダリングするのはサービスホストであるため、この権限が必要なのはそのアプリケーションだけです。

    この権限を付与するには:

    • Settings > Apps > Application > Advanced > Display over other applications に移動します。

    注釈

    Android Automotive デバイスでは、新しくインストールしたアプリケーションに対して、Android UI から Display over other applications 権限を付与することはできません。プラットフォームキーによる署名や adb による権限の付与などの代替手段については、Kanzi Android Service での開発 を参照してください。

  4. アプリドロワーから Launcher アプリケーションを起動します。クライアントアプリは自動的に Kanzi Android Service に接続し、Kanzi のコンテンツを表示します。

  5. 下部のナビゲーションバーを使用して、Launcher アプリケーションと Settings アプリケーションを切り替えます。切り替え中には、アプリ間のトランジションアニメーションが表示されます。

関連項目

Kanzi Android framework (droidfw) での開発

Kanzi Android Service での開発