Android requires runtime permission prompts for location and notifications.
private val permMgr by lazy { PermissionManager(this) }
private lateinit var permLauncher: ActivityResultLauncher<Array<String>>
permLauncher = permMgr.registerLauncher { granted ->
if (granted) {
BubblSdk.startLocationTracking(this)
} else {
toast("Permissions denied")
}
}
val granted = permMgr.locationGranted() &&
(Build.VERSION.SDK_INT < 33 || permMgr.notificationGranted())
if (granted) {
BubblSdk.startLocationTracking(this)
} else {
permLauncher.launch(permMgr.requiredPermissions())
}- Bubbl cannot track location without runtime permission.
- Android 13+ requires a separate notification permission prompt.
Tooltip
If you use your own permission system, make sure you still call: BubblSdk.startLocationTracking(this) only after permissions are granted.