//依赖添加
compile("com.github.hotchemi:permissionsdispatcher:3.0.1") annotationProcessor "com.github.hotchemi:permissionsdispatcher-processor:3.0.1"==================================================================================================================================
实际代码内容
package test1101.test1101; import android.Manifest; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.widget.Toast; import permissions.dispatcher.NeedsPermission; import permissions.dispatcher.OnPermissionDenied; import permissions.dispatcher.RuntimePermissions; //此标签是注释在需要权限的Activity和Fragment @RuntimePermissions public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override protected void onResume() { super.onResume(); //设置权限问题(需要先设置其他内容运行之后在设置这个) MainActivityPermissionsDispatcher.needsPermissionWithPermissionCheck(this); } //注释在需要权限的方法上后面,需要传入所需的权限 @NeedsPermission({Manifest.permission.READ_CONTACTS, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CAMERA, Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE}) public void needsPermission() { } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); //设置权限问题(需要先设置其他内容运行之后在设置这个) MainActivityPermissionsDispatcher.needsPermissionWithPermissionCheck(this); } @OnPermissionDenied(Manifest.permission.CAMERA) void showdeind(){ Toast.makeText(this,"拒绝录音权限将无法进行挑战",Toast.LENGTH_LONG).show(); } }