Entegrasyon Kurulum Sihirbazı

Gelişmiş pencereleme özelliğinde, ana sayfa etkinliği yerine aynı anda görülebilen ve etkileşimli birden fazla uygulama paneli bulunur. Gelişmiş pencereleme, çok pencereli görevler için görünürlük engeli olarak bir ana sayfa etkinliğinin boş sürümünü kullanır.

Kurulum Sihirbazı (SUW) genellikle evde yapılan bir görev olarak kabul edilse de daha tutarlı ve güvenilir ev deneyimleri oluşturmak için SUW'yi bir panelin parçası olarak yapılandırmanızı öneririz.

Ev görünürlüğü bariyerini yapılandırma

Ev görünürlüğü engeli etkinliğinin, SUW etkinliğinden daha yüksek önceliğe sahip doğrudan bir başlatma işlemine duyarlı ev etkinliği olduğunu onaylayın.

Daha fazla bilgi edinmek için StubCarLauncher paketindeki referans platforma bakın. Bu paketi derlemelerinize eklemenizi ve tüm kullanıcılar için yüklemenizi öneririz.

SUW panelini yapılandırma

Benzersiz koşulları işlemek ve varsayılan kök görevin dışında özel yerleşime izin vermek için SUW'yi özel bir panele yerleştirmenizi öneririz. Bu panelin sınırlarını ve katmanlarını yapılandırabilirsiniz.

SUW'un görünümünün engellenmemesi için SUW'u nispeten yüksek bir katmana yerleştirmenizi öneririz. Bu panel, sırasıyla _System_EnterSuwEvent ve _System_ExitSuwEvent sistem etkinliklerini göstermeli ve gizlemelidir. Aşağıdaki örnek yapılandırmayı inceleyin:

<TaskPanel id="suw_panel" defaultVariant="@id/closed" displayId="0" controller="@xml/suw_panel_controller">
    <TaskBehavior newTaskLaunchPolicy="REPARENT_TO_SOURCE"/>
    <Variant id="@+id/base">
        <Layer layer="@integer/suw_panel_layer"/>
        <Bounds left="0" top="0" width="100%" height="100%" />
        <Background color="@color/suw_panel_background_color" />
    </Variant>
    <Variant id="@+id/opened" parent="@id/base">
        <Visibility isVisible="true"/>
    </Variant>
    <Variant id="@+id/closed" parent="@id/base">
        <Visibility isVisible="false"/>
    </Variant>

    <Transitions>
        <Transition onEvent="_System_TaskOpenEvent" onEventTokens="panelId=suw_panel" toVariant="@id/opened"/>
        <Transition onEvent="_System_TaskPanelEmptyEvent" onEventTokens="panelId=suw_panel" toVariant="@id/closed"/>
        <Transition onEvent="_System_EnterSuwEvent" toVariant="@id/opened"/>
        <Transition onEvent="_System_ExitSuwEvent" toVariant="@id/closed"/>
    </Transitions>
</TaskPanel>

...

<Controller id="suw_panel_controller">
    <ControllerName>
        com.android.systemui.car.wm.scalableui.panel.controller.SetupPanelController
    </ControllerName>
    <PersistentPackage>com.android.car.mysetuppackage</PersistentPackage>
</Controller>

Tipik SUW uygulamasıyla uyumlu olması için kurulum devam ederken SUW paneli görünmez hale gelirse denetleyici, SUW'un gizlendiğini bildirmek üzere SUW etkinliğine açık bir ana sayfa sinyali gönderir.

Bu, kullanıcıların ana sayfa amacını kullanarak SUW'yi gizlemeye çalıştığı ancak sistemden ana sayfa sinyaline erişemediği durumları ele alır.

SUW tasarımınızla ilgili farklı beklentileriniz varsa SetupPanelController yerine özel bir denetleyici kullanarak tercih edilen davranışı uygulayabilirsiniz.