public interface

OsListener

sg.com.temasys.skylink.sdk.listener.OsListener
Known Indirect Subclasses

Class Overview

Listener comprises of callbacks related to the Android OS. Must be implemented to enable Android 6 (>= API 23) Runtime Permissions. Apps that target below Android API 23 MUST NOT implement OsListener.

Summary

Public Methods
abstract void onDenyPermission(Intent intent, int requestCode, SkylinkInfo skylinkInfo)
This is triggered when Android Intent based permission has been denied for the usage of a particular part of the SDK.
abstract void onGrantPermission(Intent intent, int requestCode, SkylinkInfo skylinkInfo)
This is triggered when Android Intent based permission has been granted for the usage of a particular part of the SDK.
abstract void onRequirePermission(Intent intent, int requestCode, SkylinkInfo skylinkInfo)
This is triggered when an Android Intent is required to use a part of the SDK.

Public Methods

public abstract void onDenyPermission (Intent intent, int requestCode, SkylinkInfo skylinkInfo)

This is triggered when Android Intent based permission has been denied for the usage of a particular part of the SDK.

public abstract void onGrantPermission (Intent intent, int requestCode, SkylinkInfo skylinkInfo)

This is triggered when Android Intent based permission has been granted for the usage of a particular part of the SDK.

public abstract void onRequirePermission (Intent intent, int requestCode, SkylinkInfo skylinkInfo)

This is triggered when an Android Intent is required to use a part of the SDK. For e.g., the intent from android.app.Activity#onActivityResult(int, int, Intent) generated from android.app.Activity#startActivityForResult(Intent, int), using the intent of android.media.projection.MediaProjectionManager#createScreenCaptureIntent, is required before screen capture can be performed. When received, app should use the intent and requestCode provided here to call android.app.Activity#startActivityForResult(Intent, int). Once the corresponding android.app.Activity#onActivityResult(int, int, Intent) is received, app should pass the parameters (requestCode, resultCode, Intent) to the SDK's processActivityResult(int, int, Intent). The SDK will process this result and also notify app via onGrantPermission(Intent, int, SkylinkInfo) or onDenyPermission(Intent, int, SkylinkInfo).

Parameters
intent An Intent to be passed to android.app.Activity#startActivityForResult(Intent, int).
requestCode An unique integer that represents this permission request. This is to be used as the requestCode when calling Android's android.app.Activity#startActivityForResult(Intent, int).
skylinkInfo SkylinkInfo that explains why this permission is required. Further info can be obtained by calling getDescription(). Based on this info, an explanation might be crafted.