On Android, the current dangerous level of permissions requires a dynamic application. The steps are as follows;
1. Androidmanfiest.xml The dynamic rights required in the Declaration
<?XML version= "1.0" encoding= "Utf-8"?><Manifestxmlns:android= "Http://schemas.android.com/apk/res/android" Package= "Com.plbear.yyj.dangerouspermission"><!--claim Permissions--<uses-permissionAndroid:name= "Android.permission.ACCESS_FINE_LOCATION"></uses-permission> <ApplicationAndroid:allowbackup= "true"Android:icon= "@mipmap/ic_launcher"Android:label= "@string/app_name"Android:roundicon= "@mipmap/ic_launcher_round"Android:supportsrtl= "true"Android:theme= "@style/apptheme"> <ActivityAndroid:name=". Mainactivity "> <Intent-filter> <ActionAndroid:name= "Android.intent.action.MAIN" /> <categoryAndroid:name= "Android.intent.category.LAUNCHER" /> </Intent-filter> </Activity> </Application></Manifest>
2. Check permissions in code, request permission
After the following method is executed, a prompt appears prompting you to request this permission
Fun onclick_requestpermission (v:view) { if (Contextcompat.checkselfpermission ( ApplicationContext, Manifest.permission.ACCESS_FINE_LOCATION)! = packagemanager.permission_granted) { Activitycompat.requestpermissions (This, arrayof (Manifest.permission.ACCESS_FINE_LOCATION), 0); } }
3. Get Results
1 override Fun Onrequestpermissionsresult (requestcode:int, permissions: Array<out string> 2 var i = 0; 3 while (i < Permissions.size) { 4 log.e (TAG," permission: "+ permissions[i] + "Grantresult:" + Grantresults[i]) 5 I ++6 } 7
super .onrequestpermissionsresult ( Requestcode, permissions, grantresults) 8 }
Reprint Please specify link: http://www.cnblogs.com/yanyojun/p/8013003.html
All the code in this article has been placed in github:https://github.com/yanyojun/dangerouspermission/
Android Dynamic permission request