In -depth analysis of the technical principle of EasyPermissions framework
In -depth analysis of the technical principle of EasyPermissions framework
EasyPermissions is a permissions processing framework for Android applications, which simplifies the process of Android system permissions applications.This article will in -depth analysis of the technical principles of the EasyPerMissions framework and provide some Java code examples to help readers better understand.
1. EasyPermissions
The authority management of the Android system is a very important task, but in the past version, the process of processing permissions is relatively complicated.The emergence of EasyPermissions simplified the process of permission application, so that developers can complete the application and processing of permission through several lines of code.
2. The principle of EasyPermissions
The principle of EasyPermissions can be summarized as the following steps:
2.1 Check permissions status
Before applying permission to use EasyPerMissions, you need to first check the applied authority authorized and unauthorized permissions.EasyPermissions provides a way to help check the permissions.
2.2 permissions application process
When the application needs a certain permissions, first call the application method of EasyPerMissions.This method will check whether the permissions have been authorized. If they have been authorized, the corresponding logic is directly executed; if it is not authorized, the system permissions application dialog box will pop up.
2.3 Process permissions callback
After the user response system permissions application dialog box, EasyPermissions will automatically process permissions callback.According to the user's choice (agreed or rejected), EasyPerMissions will call the corresponding callback method.
2.4 Special circumstances
In some special cases, EasyPermissions may not work properly.For example, when the user selects the "No Inquiry" option in the system permissions application dialog box, EasyPerMissions will not be able to pop up the system permissions application dialog box again.In this case, EasyPerMissions provides a help method to display a custom permissions interpretation dialog box to guide users to the application setting page manual authorization permissions.
3. Example of use of EasyPermissions
Below is a simple example to show the use of EasyPermissions:
public class MainActivity extends AppCompatActivity implements
EasyPermissions.PermissionCallbacks {
private static final int PERMISSIONS_REQUEST_CAMERA = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Check the camera permission
if (EasyPermissions.hasPermissions(this, Manifest.permission.CAMERA)) {
// The corresponding logic has been authorized to execute
openCamera();
} else {
// Apply for camera permissions
EasyPermissions.requestPerMissions (this, "Requirement of camera permissions",
PERMISSIONS_REQUEST_CAMERA, Manifest.permission.CAMERA);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
// River the authority to EasyPermissions for processing
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
@Override
public void onPermissionsGranted(int requestCode, List<String> perms) {
if (requestCode == PERMISSIONS_REQUEST_CAMERA) {
// The camera authority has been authorized to execute the corresponding logic
openCamera();
}
}
@Override
public void onPermissionsDenied(int requestCode, List<String> perms) {
if (requestCode == PERMISSIONS_REQUEST_CAMERA) {
if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {
// Display customized permission interpretation dialog boxes
EasyPermissions.goSettingsDialog(this);
}
}
}
private void openCamera() {
// Open the camera logic
}
}
In the above example, first check whether the camera authority has been authorized. If it is authorized, the corresponding logic is executed; if it is not authorized, the camera permissions are applied.After the user response system permissions application dialog box, EasyPermissions will call the corresponding callback method.If the user chooses "no more inquiry", a custom permissions interpretation dialog box will show the user to the application setting page manual authorization permissions.
Summary: EasyPerMissions framework improves development efficiency by simplifying the process of application permissions for Android application.Its technical principles include checking permissions, permissions application processes, and special circumstances of processing permissions recovery and processing.Through the above examples, readers can better understand the use and principles of the EasyPermissions framework.