{"metadata":{"image":[],"title":"","description":""},"api":{"url":"","auth":"required","params":[],"results":{"codes":[]},"settings":""},"next":{"description":"","pages":[]},"title":"Android Permissions","type":"basic","slug":"android-6-permissions","excerpt":"","body":"[block:callout]\n{\n  \"type\": \"success\",\n  \"title\": \"Android Permissions\",\n  \"body\": \"Please note that these permissions are required for all users on versions of Android above Android 6.\"\n}\n[/block]\nThe Pulsate SDK requires one permission - Location.\n\nHere is an example how to ask the user for these permissions:\n\n1. Location Permission - required for beacon scans, geofencing and location updates. \n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"int permissionCheck = ContextCompat.checkSelfPermission(getActivity(),\\n                Manifest.permission.ACCESS_FINE_LOCATION);\\nif (permissionCheck != PackageManager.PERMISSION_GRANTED) {\\n  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {\\n    ActivityCompat.requestPermissions(getActivity(),\\n        new String[]{Manifest.permission.ACCESS_FINE_LOCATION, \\n                     Manifest.permission.ACCESS_BACKGROUND_LOCATION}, 1);\\n  } else {\\n    ActivityCompat.requestPermissions(getActivity(),\\n        new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);\\n  }\\n}\",\n      \"language\": \"java\",\n      \"name\": \"Location Permission\"\n    }\n  ]\n}\n[/block]","updates":[],"order":11,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"5e5019b49e8f240011cc6a82","parentDoc":null,"createdAt":"2015-12-16T09:53:12.803Z","project":"54aa7f773b56130b0056c86e","__v":10,"version":{"version":"2.8","version_clean":"2.8.0","codename":"Android SDK","is_stable":false,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["5e5019b49e8f240011cc6a47","55781fe35129590d003ff4f9","55781fe35129590d003ff4fa","5e5019b49e8f240011cc6a48","5e5019b49e8f240011cc6a49","5e5019b49e8f240011cc6a4a","5e5019b49e8f240011cc6a4b","5e5019b49e8f240011cc6a4c","565b66c446118c0d00dcb0bb","56898269f8dc340d00308c13","5e5019b49e8f240011cc6a4d","5e5019b49e8f240011cc6a4e","5c73dd27e8fdc000572a206a","5e5019b49e8f240011cc6a4f","5e501b7e7c8bdc00450ea66a","5e53daa9884b750025b5cad4"],"_id":"5e5019b49e8f240011cc6ade","project":"54aa7f773b56130b0056c86e","forked_from":"5e4fbbbda8fb41028f1861fe","__v":2,"createdAt":"2015-06-10T11:30:42.700Z","releaseDate":"2015-06-10T11:30:42.700Z"},"githubsync":"","user":"54aa7f3f9bb00c0b00cb899b","category":{"sync":{"isSync":false,"url":""},"pages":["5e5019b49e8f240011cc6a55","5e5019b49e8f240011cc6a56","5e5019b49e8f240011cc6a57","5e5019b49e8f240011cc6a58","5e5019b49e8f240011cc6a59","5e5019b49e8f240011cc6a5a","5e5019b49e8f240011cc6a5b","5e5019b49e8f240011cc6a5c","5e5019b49e8f240011cc6a5d","5e5019b49e8f240011cc6a5e","5e5019b49e8f240011cc6a68","5e5019b49e8f240011cc6a6b","5e5019b49e8f240011cc6a71","5e5019b49e8f240011cc6a73","5e5019b49e8f240011cc6a7e","5e5019b49e8f240011cc6a80","5e5019b49e8f240011cc6a81","5e5019b49e8f240011cc6a82","5e5019b49e8f240011cc6a84"],"title":"Android SDK","slug":"android-sdk","order":1,"from_sync":false,"reference":false,"_id":"5e5019b49e8f240011cc6a49","version":"5e5019b49e8f240011cc6ade","__v":10,"project":"54aa7f773b56130b0056c86e","createdAt":"2015-01-05T12:44:00.338Z"}}

Android Permissions


[block:callout] { "type": "success", "title": "Android Permissions", "body": "Please note that these permissions are required for all users on versions of Android above Android 6." } [/block] The Pulsate SDK requires one permission - Location. Here is an example how to ask the user for these permissions: 1. Location Permission - required for beacon scans, geofencing and location updates. [block:code] { "codes": [ { "code": "int permissionCheck = ContextCompat.checkSelfPermission(getActivity(),\n Manifest.permission.ACCESS_FINE_LOCATION);\nif (permissionCheck != PackageManager.PERMISSION_GRANTED) {\n if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {\n ActivityCompat.requestPermissions(getActivity(),\n new String[]{Manifest.permission.ACCESS_FINE_LOCATION, \n Manifest.permission.ACCESS_BACKGROUND_LOCATION}, 1);\n } else {\n ActivityCompat.requestPermissions(getActivity(),\n new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);\n }\n}", "language": "java", "name": "Location Permission" } ] } [/block]