OnDevicePersonalizationManager
public
class
OnDevicePersonalizationManager
extends Object
| java.lang.Object | |
| ↳ | android.adservices.ondevicepersonalization.OnDevicePersonalizationManager |
OnDevicePersonalizationManager udostępnia interfejsy API, które pozwalają aplikacjom
IsolatedService w osobnym procesie i wchodź z nim w interakcję.
Aplikacja może poprosić o IsolatedService, aby wygenerować treści do wyświetlenia.
w obrębie SurfaceView w hierarchii widoków aplikacji, a także zapisz
trwałe wyniki w pamięci urządzenia, które mogą być wykorzystywane przez Federated Analytics dla
analiza statystyczna na różnych urządzeniach lub za pomocą sfederowanego uczenia się na potrzeby trenowania modeli. Wyświetlane
ani trwałe dane wyjściowe nie są bezpośrednio dostępne dla aplikacji wywołującej.
Podsumowanie
Metody publiczne | |
|---|---|
void
|
execute(ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
Wykonuje polecenie |
void
|
requestSurfacePackage(SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Wymaga wstawienia |
Metody dziedziczone | |
|---|---|
Metody publiczne
Wykonaj
public void execute (ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
Wykonuje polecenie IsolatedService w piaskownicy OnDevicePersonalization.
platforma łączy się z określonym IsolatedService w izolowanym procesie
i dzwoni pod numer IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer)
z parametrami
podanymi przez wywołującego. Gdy IsolatedService zakończy wykonywanie,
platforma zwraca tokeny odwołujące się do wyników usługi.
Tokenów tych można później używać do wyświetlania wyników w
SurfaceView w aplikacji do rozmów.
| Parametry | |
|---|---|
handler |
ComponentName: ComponentName elementu IsolatedService.
Ta wartość nie może być typu null. |
params |
PersistableBundle: pole PersistableBundle przekazywane z aplikacji do połączeń do
IsolatedService Określono oczekiwaną zawartość tego parametru
przez IsolatedService. Platforma nie interpretuje tego parametru.
Ta wartość nie może być typu null. |
executor |
Executor: element Executor, dla którego ma zostać wywołane wywołanie zwrotne.
Ta wartość nie może być typu null.
Za pomocą tego interfejsu są wysyłane zdarzenia wywołania zwrotnego i detektora
Executor, co pozwala łatwo kontrolować, który wątek jest
. Aby wysyłać zdarzenia przez wątek główny
aplikacji, możesz użyć
Context.getMainExecutor()
W przeciwnym razie podaj Executor, który wysyła do odpowiedniego wątku. |
receiver |
OutcomeReceiver: zwraca listę obiektów SurfacePackageToken, z których każdy jest
nieprzejrzyste odwołanie do elementu RenderingConfig zwróconego przez
IsolatedService lub Exception w przypadku niepowodzenia. Zwrócone wartości
SurfacePackageToken obiektów można użyć w kolejnych
requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) do wyświetlenia wyniku w widoku. Aplikacja do rozmów oraz
IsolatedService musi pasować do oczekiwanego rozmiaru tej listy.
Wpis na zwróconej liście obiektów SurfacePackageToken może mieć wartość null
wskazują, że usługa nie ma danych wyjściowych dla danej platformy.
W przypadku błędu odbiorca zwraca jeden z tych wyjątków:
Zwraca PackageManager.NameNotFoundException, jeśli moduł obsługi
pakiet nie jest zainstalowany lub nie ma prawidłowego pliku manifestu ODP.
Zwraca ClassNotFoundException, jeśli nie znaleziono klasy modułu.
Zwraca OnDevicePersonalizationException, jeśli wykonanie modułu obsługi się nie powiedzie. |
requestSurfacePackage
public void requestSurfacePackage (SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Wymaga wstawienia SurfaceControlViewHost.SurfacePackage do
SurfaceView w aplikacji do rozmów. Pakiet powierzchni będzie zawierał
View z treścią z poprzedniego wywołania do
#execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) działa w
w piaskownicy OnDevicePersonalization.
| Parametry | |
|---|---|
surfacePackageToken |
SurfacePackageToken: odwołanie do elementu SurfacePackageToken zwróconego przez wcześniejszy
połączenie z numerem #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver).
Ta wartość nie może być typu null. |
surfaceViewHostToken |
IBinder: hostToken obiektu SurfaceView, który jest
zwrócone przez SurfaceView.getHostToken() po
Element SurfaceView został dodany do hierarchii widoków.
Ta wartość nie może być typu null. |
displayId |
int: identyfikator całościowy wyświetlacza logicznego, na którym ma być wyświetlany
SurfaceControlViewHost.SurfacePackage, zwrócone przez
Context.getDisplay().getDisplayId() |
width |
int: szerokość SurfaceControlViewHost.SurfacePackage
w pikselach. |
height |
int: wysokość SurfaceControlViewHost.SurfacePackage
w pikselach. |
executor |
Executor: pole Executor, które ma wywołać wywołanie zwrotne
Ta wartość nie może być null.
Za pomocą tego interfejsu są wysyłane zdarzenia wywołania zwrotnego i detektora
Executor, co pozwala łatwo kontrolować, który wątek jest
. Aby wysyłać zdarzenia przez wątek główny
aplikacji, możesz użyć
Context.getMainExecutor()
W przeciwnym razie podaj Executor, który wysyła do odpowiedniego wątku. |
receiver |
OutcomeReceiver: to powoduje zwrócenie
SurfaceControlViewHost.SurfacePackage w przypadku powodzenia lub
Exception w przypadku niepowodzenia. Typ wyjątku to
OnDevicePersonalizationException, jeśli wykonanie modułu obsługi się nie powiedzie.
Ta wartość nie może być typu null. |