XxPermissions: фреймворк для запросов на разрешения
XxPermissions — это фреймворк, который позволяет запрашивать разрешения в одно касание.
Пример изображения:
[Картинка не предоставлена]
Ссылки:
implementation fileTree(dir: 'libs', include: ['.jar', '.har'])
* Способ 2:
allprojects { repositories { mavenCentral() } }
implementation 'io.openharmony.tpc.thirdlib:XXPermissions:1.0.3'
**Использование:**
1. **Первый шаг:**
XXPermissions.with(getAbility()) .permission(Permission.CAMERA) .request(new OnPermission() { @Override public void hasPermission(List granted, boolean all) { if (all) { toast("获取拍照权限成功"); } }
@Override
public void noPermission(List<String> denied, boolean never) {
if (never) {
toast("被永久拒绝授权,请手动授予拍照权限");
// Если это постоянный отказ, перейдите на страницу настроек разрешений приложения
String[] permissions = new String[denied.size()];
denied.toArray(permissions);
XXPermissions.startPermissionActivity(MainAbilitySlice.this, permissions, this);
} else {
toast("Получение разрешения на съёмку не удалось");
}
}
});
2. **Второй шаг:** в текущей способности перепишите метод onRequestPermissionsFromUserResult и вызовите следующий метод:
XXPermissions.addPermissionsForResult(this, requestCode, permissions, grantResults);
Например:
@Override public void onRequestPermissionsFromUserResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsFromUserResult(requestCode, permissions, grantResults); XXPermissions.addPermissionsForResult(this, requestCode, permissions, grantResults); }
Если разрешение отклонено навсегда, перейдите к списку приложений и вернитесь.
XXPermissions.startPermissionActivity(MainAbilitySlice.this); // или XXPermissions.startPermissionActivity(MainAbilitySlice.this,permissions, this);
Для получения результата необходимо переписать метод onAbilityResult(...) в способности или abilitySince. Например:
@Override protected void onAbilityResult(int requestCode, int resultCode, Intent resultData) { super.onAbilityResult(requestCode, resultCode, resultData); XXPermissions.onAbilityResult(requestCode); }
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )