OnDevicePersonalizationManager.Execute Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Executes an IsolatedService
in the OnDevicePersonalization sandbox.
[Android.Runtime.Register("execute", "(Landroid/content/ComponentName;Landroid/os/PersistableBundle;Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;)V", "GetExecute_Landroid_content_ComponentName_Landroid_os_PersistableBundle_Ljava_util_concurrent_Executor_Landroid_os_OutcomeReceiver_Handler", ApiSince=35)]
public virtual void Execute(Android.Content.ComponentName service, Android.OS.PersistableBundle params, Java.Util.Concurrent.IExecutor executor, Android.OS.IOutcomeReceiver receiver);
[<Android.Runtime.Register("execute", "(Landroid/content/ComponentName;Landroid/os/PersistableBundle;Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;)V", "GetExecute_Landroid_content_ComponentName_Landroid_os_PersistableBundle_Ljava_util_concurrent_Executor_Landroid_os_OutcomeReceiver_Handler", ApiSince=35)>]
abstract member Execute : Android.Content.ComponentName * Android.OS.PersistableBundle * Java.Util.Concurrent.IExecutor * Android.OS.IOutcomeReceiver -> unit
override this.Execute : Android.Content.ComponentName * Android.OS.PersistableBundle * Java.Util.Concurrent.IExecutor * Android.OS.IOutcomeReceiver -> unit
Parameters
- service
- ComponentName
The ComponentName
of the IsolatedService
.
- params
- PersistableBundle
a PersistableBundle
that is passed from the calling app to the IsolatedService
. The expected contents of this parameter are defined by theIsolatedService
. The platform does not interpret this parameter.
- executor
- IExecutor
the Executor
on which to invoke the callback.
- receiver
- IOutcomeReceiver
This returns a ExecuteResult
object on success or an Exception
on failure. If the IsolatedService
returned a RenderingConfig
to be displayed, ExecuteResult#getSurfacePackageToken()
will return a non-null
SurfacePackageToken
. The SurfacePackageToken
object can be used in a
subsequent #requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int,
Executor, OutcomeReceiver)
call to display the result in a view. The returned SurfacePackageToken
may be null to indicate that no output is expected to be displayed
for this request. If the IsolatedService
has returned any output data and the
calling app is allowlisted to receive data from this service, the ExecuteResult#getOutputData()
will return a non-null byte array.
<p>In case of an error, the receiver returns one of the following exceptions: Returns a
android.content.pm.PackageManager.NameNotFoundException
if the handler package is
not installed or does not have a valid ODP manifest. Returns ClassNotFoundException
if the handler class is not found. Returns an OnDevicePersonalizationException
if execution of the handler fails.
- Attributes
Remarks
Executes an IsolatedService
in the OnDevicePersonalization sandbox. The platform binds to the specified IsolatedService
in an isolated process and calls IsolatedWorker#onExecute(ExecuteInput, android.os.OutcomeReceiver)
with the caller-provided parameters. When the IsolatedService
finishes execution, the platform returns tokens that refer to the results from the service to the caller. These tokens can be subsequently used to display results in a android.view.SurfaceView
within the calling app.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.