It's happening now, watch the livestream.

SliceManager

abstract class SliceManager
kotlin.Any
   ↳ androidx.slice.SliceManager

Class to handle interactions with Slices.

The SliceViewManager manages permissions and pinned state for slices.

Summary

Public methods

abstract Int
checkSlicePermission(@NonNull uri: Uri, pid: Int, uid: Int)

Determine whether a particular process and user ID has been granted permission to access a specific slice URI.

open static SliceManager
getInstance(@NonNull context: Context)

Get a SliceManager.

abstract MutableList<Uri!>

Get the list of currently pinned slices for this app.

abstract Unit
grantSlicePermission(@NonNull toPackage: String, @NonNull uri: Uri)

Grant permission to access a specific slice Uri to another package.

abstract Unit
revokeSlicePermission(@NonNull toPackage: String, @NonNull uri: Uri)

Remove permissions to access a particular content provider Uri that were previously added with grantSlicePermission for a specific target package.

Public methods

checkSlicePermission

abstract fun checkSlicePermission(@NonNull uri: Uri, pid: Int, uid: Int): Int

Determine whether a particular process and user ID has been granted permission to access a specific slice URI.

Parameters
uri Uri: The uri that is being checked.
pid Uri: The process ID being checked against. Must be > 0.
uid Uri: The user ID being checked against. A uid of 0 is the root user, which will pass every permission check.
Return
Int: PackageManager#PERMISSION_GRANTED if the given pid/uid is allowed to access that uri, or PackageManager#PERMISSION_DENIED if it is not.

getInstance

@NonNull open static fun getInstance(@NonNull context: Context): SliceManager

Get a SliceManager.

getPinnedSlices

@NonNull abstract fun getPinnedSlices(): MutableList<Uri!>

Get the list of currently pinned slices for this app.

grantSlicePermission

abstract fun grantSlicePermission(@NonNull toPackage: String, @NonNull uri: Uri): Unit

Grant permission to access a specific slice Uri to another package.

Parameters
toPackage String: The package you would like to allow to access the Uri.
uri String: The Uri you would like to grant access to.

revokeSlicePermission

abstract fun revokeSlicePermission(@NonNull toPackage: String, @NonNull uri: Uri): Unit

Remove permissions to access a particular content provider Uri that were previously added with grantSlicePermission for a specific target package. The given Uri will match all previously granted Uris that are the same or a sub-path of the given Uri. That is, revoking "content://foo/target" will revoke both "content://foo/target" and "content://foo/target/sub", but not "content://foo". It will not remove any prefix grants that exist at a higher level.

Parameters
toPackage String: The package you would like to allow to access the Uri.
uri String: The Uri you would like to revoke access to.