public interface ScreencastSession
ScreencastSession to receive callbacks and provide information needed for the screencast Service.
 The implementation class must have a constructor without argument. The SDK will call that constructor to instantiate a new instance.| Modifier and Type | Interface and Description | 
|---|---|
static interface  | 
ScreencastSession.SessionListener
ScreencastSession.SessionListener provides interface for developer to notify screencast service upon different methods. | 
| Modifier and Type | Method and Description | 
|---|---|
Notification | 
getNotification()
Called when the screencast  
Service started in foreground and you have to provide customized
 Notification to indicate the screencast is running. | 
NotificationChannel | 
getNotificationChannel()
Called when the screencast  
Service tries to call
 NotificationManager.createNotificationChannel(NotificationChannel) based on your
 customized NotificationChannel here. | 
void | 
onSessionCreate(Context context,
               ScreencastSession.SessionListener listener,
               Bundle bundle)
Called when  
ScreencastSession is created. | 
void | 
onSessionDestroy()
Called when the screencast  
Service is destroyed. | 
void | 
onStreamManagerInitComplete(com.google.android.gms.tasks.Task<StreamManager> task)
Called when  
StreamManager.initialize(Identity, Bundle) is completed. | 
void onSessionCreate(Context context, ScreencastSession.SessionListener listener, Bundle bundle)
ScreencastSession is created.context - the context from screencast Servicelistener - interface to notify the screencast Servicebundle - Bundle sent by StreamManager.initialize(Identity, Bundle)Notification getNotification()
Service started in foreground and you have to provide customized
 Notification to indicate the screencast is running. This method will be called only once
 after initialized. After this, you could invoke
 ScreencastSession.SessionListener.updateNotification(Notification) by the ScreencastSession.SessionListener received
 from onSessionCreate(Context, SessionListener, Bundle) to update Notification.
 Note: for android 8.0, you MUST implement Notification.Builder#setChannelId(String)
 for your customized Notification, otherwise you'll get the thrown RuntimeException
 with description invalid channel for service notification when screencast Service
 calls Service.startForeground(int, Notification).ServiceScreencastSession.SessionListener.updateNotification(Notification), 
getNotificationChannel()NotificationChannel getNotificationChannel()
Service tries to call
 NotificationManager.createNotificationChannel(NotificationChannel) based on your
 customized NotificationChannel here. This method will be called right after
 onSessionCreate(Context, SessionListener, Bundle).
 Alternatively, you could call NotificationManager.createNotificationChannel(NotificationChannel)
 to create a notification channel by yourself. After this, you could specify this channel
 for your customized Notification to be delivered on.
 Note: for android 8.0, you MUST implement this method for handling
 NotificationManager.createNotificationChannel(NotificationChannel) along with the implementation
 of Notification.Builder#setChannelId(String), otherwise you'll get the thrown RuntimeException
 with description invalid channel for service notification when screencast Service
 calls Service.startForeground(int, Notification) or
 NotificationManagerCompat.notify(int, Notification).NotificationManager.createNotificationChannel(NotificationChannel), 
getNotification(), 
ScreencastSession.SessionListener.updateNotification(Notification)void onStreamManagerInitComplete(@NonNull
                                 com.google.android.gms.tasks.Task<StreamManager> task)
StreamManager.initialize(Identity, Bundle) is completed.task - the result, you could get the StreamManager if task succeeded.void onSessionDestroy()
Service is destroyed. You have to clear UI and resources about
 MediaProjection.Service.onDestroy()