1 Packagecom.example.metrox.codepermission;2 3 ImportAndroid.content.Context;4 ImportAndroid.content.pm.PackageManager;5 6 /**7 * Created by Metrox on 2016/6/22.8 */9 Public classHello {Ten Public Static FinalString Permisson_say_hello = "Com.example.metrox.codepermission.permission.SAY_HELLO"; One Public Static voidSayHello (Context context) { A intresult =context.checkcallingorselfpermission (Permisson_say_hello); - if(Result! =packagemanager.permission_granted) { - Throw NewSecurityException ("Execute SayHello method requires permission:" +Permisson_say_hello); the } -SYSTEM.OUT.PRINTLN ("Permission test succeeded"); - } -}
1 Packagecom.example.metrox.codepermission;2 3 Importandroid.support.v7.app.AppCompatActivity;4 ImportAndroid.os.Bundle;5 6 Public classMainactivityextendsappcompatactivity {7 8 @Override9 protected voidonCreate (Bundle savedinstancestate) {Ten Super. OnCreate (savedinstancestate); One Setcontentview (r.layout.activity_main); AHello.sayhello ( This); - } -}
1 <?XML version= "1.0" encoding= "Utf-8"?>2 <Manifestxmlns:android= "Http://schemas.android.com/apk/res/android"3 Package= "Com.example.metrox.codepermission">4 <PermissionAndroid:name= "Com.example.metrox.codepermission.permission.SAY_HELLO"></Permission>5 <uses-permissionAndroid:name= "Com.example.metrox.codepermission.permission.SAY_HELLO"></uses-permission>6 <Application7 Android:allowbackup= "true"8 Android:icon= "@mipmap/ic_launcher"9 Android:label= "@string/app_name"Ten Android:supportsrtl= "true" One Android:theme= "@style/apptheme"> A <ActivityAndroid:name=". Mainactivity "> - <Intent-filter> - <ActionAndroid:name= "Android.intent.action.MAIN" /> the - <categoryAndroid:name= "Android.intent.category.LAUNCHER" /> - </Intent-filter> - </Activity> + </Application> - + </Manifest>
Android Permissions configuration and invocation