Skip to main content
Version: Next

Android

Library that provides a set of rules for requesting Permissions of restricted data and actions required to use application functionality.

Getting Started

Examples of using API for asking runtime permissions.

  1. Register permission result launcher for your activity:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
HumaPermissionsManager.getInstance().registerPermissionResult(this)
}
  1. Call function with permission which you need. For example requesting Camera permission:
HumaPermissionsManager.getInstance()
.requestCameraPermission { isPermissionGranted ->
if (isPermissionGranted) {
// Handle permission granted result
} else {
// Handle permission denied result
}
}

You can set custom description of requested permission. That description will be displayed on the PermissionActivity.

HumaPermissionsManager.getInstance()
.requestCameraPermission(
descriptionTitle = "Title with custom description of Camera permission",
descriptionSubtitle = "Subtitle with custom description of Camera permission"
) { isPermissionGranted ->
if (isPermissionGranted) {
// Handle permission granted result
} else {
// Handle permission denied result
}
}

Example of requesting Location permission:

HumaPermissionsManager.getInstance().requestLocationPermission {
when (it) {
true -> // Handle permission granted result
else -> // Handle permission denied result
}
}

Example of requesting Microphone permission

HumaPermissionsManager.getInstance().requestMicrophonePermission {
when (it) {
true -> // Handle permission granted result
else -> // Handle permission denied result
}
}

Example of requesting WriteExternalStorage permission

HumaPermissionsManager.getInstance().requestWriteExternalStoragePermission {
when (it) {
true -> // Handle permission granted result
else -> // Handle permission denied result
}
}

Example of requesting ActivityRecognition permission

HumaPermissionsManager.getInstance().requestActivityRecognitionPermission {
when (it) {
true -> // Handle permission granted result
else -> // Handle permission denied result
}
}

To get other permissions apart from above you can use requestCustomPermission function. In that case you need to specify an identifier of requested permission and add a description. Example of requesting ReadCalendar permission:

HumaPermissionsManager.getInstance()
.requestCustomPermission(
permissionName = Manifest.permission.READ_CALENDAR, // permission identifier
activityTitle = "ReadCalendar", // title for PermissionActivity
descriptionTitle = "Title with description of ReadCalendar permission",
descriptionSubtitle = "Subtitle with description of ReadCalendar permission"
) { isPermissionGranted ->
if (isPermissionGranted) {
// Handle permission granted result
} else {
// Handle permission denied result
}
}