{"id":28629067,"url":"https://github.com/rivuchk/androidmpermissionmanager","last_synced_at":"2026-05-01T21:33:23.154Z","repository":{"id":115129506,"uuid":"79466850","full_name":"RivuChk/AndroidMPermissionManager","owner":"RivuChk","description":"This is a plugin which will help android developers to integrate M Permission callback to the project easily with just few lines of code.","archived":false,"fork":false,"pushed_at":"2017-11-12T18:09:43.000Z","size":110,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-01T01:59:29.442Z","etag":null,"topics":["android","android-permission","android-permissions","kotlin","kotlin-android"],"latest_commit_sha":null,"homepage":"http://www.rivuchk.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RivuChk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-19T15:29:29.000Z","updated_at":"2024-11-05T06:42:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"dd7a5935-a601-44cf-acdd-573fede5ec97","html_url":"https://github.com/RivuChk/AndroidMPermissionManager","commit_stats":null,"previous_names":["rivuchk/androidmpermissionmanager"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/RivuChk/AndroidMPermissionManager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RivuChk%2FAndroidMPermissionManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RivuChk%2FAndroidMPermissionManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RivuChk%2FAndroidMPermissionManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RivuChk%2FAndroidMPermissionManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RivuChk","download_url":"https://codeload.github.com/RivuChk/AndroidMPermissionManager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RivuChk%2FAndroidMPermissionManager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32513677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-permission","android-permissions","kotlin","kotlin-android"],"created_at":"2025-06-12T11:30:18.310Z","updated_at":"2026-05-01T21:33:23.146Z","avatar_url":"https://github.com/RivuChk.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Android Runtime Permission Manager\n\n## A backward compatible, callback driven, easy to use plugin to manage Runtime Permission (also compatible with pre-marshmallow static permission model).\n\nWith **Android 6.0 Marshmallow (API 23)**, a new runtime permission model has been introduced. According to this model users are not prompted for permission at the time of installing the app, rather developers need to check for and request permission at runtime (i.e. before performing any action that may require the particular permission)\n\nI coded this plugin in a callback driven manner, i.e. it has callbacks for when user grants/denies/partially grants (grants one or few of the multiple permissions requested) the permissions. As already mentioned this plugin is backward compatible, so it’ll automatically call the callback method for permissions granted (if it is granted by the system, in the same flow as it was in pre-marshmallow) in pre-marshmallow devices.\n\nFollow the below How to Use guide to integrate this plugin with your project and forget all permission headaches :relaxed:�\n\nDeclare gradle dependancy.\n\n\n    dependencies {\n        implementation ‘com.rivuchk.mpermissionhandler:permissionmanager:1.0’\n    }\n\n\nDeclare a Global variable in your `Activity` / `Fragment` class\n\n    private PermissionManager permissionManager;\n\t\nInitialise it inside `onCreate()` method of your `Activity` / `Fragment`.\n\n    permissionManager = PermissionManager.createInstanceFor(this);\n    Override onActivityResult and onRequestPermissionsResult methods like below\n\n    @Override\n    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {\n        super.onRequestPermissionsResult(requestCode, permissions, grantResults);\n        try {\n          permissionManager.onRequestPermissionResult(requestCode,permissions,grantResults);\n        } catch (Exception e) {\n          e.printStackTrace();\n        }\n    }\n\n    @Override\n    protected void onActivityResult(int requestCode, int resultCode, Intent data) {\n       super.onActivityResult(requestCode, resultCode, data);\n       try {\n          permissionManager.onActivityResult(requestCode,resultCode,data);\n       } catch (Exception e) {\n          e.printStackTrace();\n       }\n    }\n    \nDeclare the required permissions in your manifest (replace the `READ_PHONE_STATE` permission with your required one)\n\n    \u003cuses-permission android:name=“android.permission.READ_PHONE_STATE” /\u003e\n\nThen request permission inside your activity or fragment as below\n\n    permissionManager.addRequestPermission(Manifest.permission.READ_PHONE_STATE)// add required permission to the request list\n    //set Messages for alert and toast\n      .setAlertMessages(“Permission Request Alert Title”,“Permission Request Explanation”,“Toast Message asking user to go to settings (called only when user previously denied permission with Never ask again)”)\n    //set Request Callback\n      .setPermissionRequestCallback(new PermissionManager.PermissionRequestCallback() {\n          @Override\n          public void onAllPermissionsGranted(String[] permissions) {\n              //Proceed with your permission\n          }\n\n          @Override\n          public void onAllPermissionsDenied(String[] Permissions) {\n              //All Permissions denied, do job accordingly\n          }\n\n          @Override\n          public void onPartialPermissionsGranted(String[] grantedPermissions) {\n              //few of the permissions are granted, String[] grantedPermissions contains the granted permissions\n          }\n      })\n      .startRequest(); //start permission request\n\nYou can also add a permissions array to the list with `addRequestPermissions(String[] permissionsArray)` method\n\nThis plugin now also includes **Kotlin Extension Functions**. Create instance of `PermissionManager` as with just `createPermissionManagerInstance` inside any Activity and/or Fragment class.\n\nEnjoy Independancy from Runtime Permission Request Headache and continue with your project :relaxed:. Yes Its that simple.\n\nFor more information visit [rivuchk.com](http://www.rivuchk.com)\n\nLicense\n\nCopyright (c) 2017 Rivu Chakraborty.\n\nLicensed under the GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007(the License);\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n  https://www.gnu.org/licenses/gpl-3.0.en.html\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an “AS IS” BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.# AndroidMPermissionManager\nThis is a plugin which will help android developers to integrate M Permission callback to the project easily with just few lines of code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frivuchk%2Fandroidmpermissionmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frivuchk%2Fandroidmpermissionmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frivuchk%2Fandroidmpermissionmanager/lists"}