1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/chinasoft_ohos-HiPermission

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

HiPermission

Проект

  • Название проекта: HiPermission.
  • Серия: Адаптация сторонних компонентов openharmony.
  • Функционал: Простая в использовании библиотека для запроса разрешений.
  • Статус переноса проекта: Основные функции реализованы (animStyle() не реализована).
  • Различия при вызове: Отсутствуют.
  • Версия разработки: sdk6, DevEco Studio2.2 beta1.
  • Базовая версия: Release 1.0.7.

Демонстрация работы

Инструкция по установке

  1. В файле build.gradle в корне проекта добавьте:
// Добавление репозитория Maven
repositories {
    maven {
        url 'https://s01.oss.sonatype.org/content/repositories/release/'
    }
}
  1. В файле build.gradle модуля entry добавьте:
dependencies {
    implementation 'com.gitee.chinasoft_ohos:HiPermission:1.0.0'   
}

Проект можно запустить непосредственно на sdk6 и DevEco Studio2.2 beta1. Если запуск невозможен, удалите файлы .gradle, .idea, build, gradle и build.gradle из проекта, создайте новый проект на основе вашей версии и скопируйте соответствующие файлы из нового проекта в корневой каталог.

Руководство по использованию

Достаточно одной строки кода:

HiPermission.create(context)
    .checkMutiPermission(new PermissionCallback() {
        @Override
        public void onClose() {
            Log.i(TAG, "onClose");
            showToast("Пользователь закрыл запрос на разрешение");
        }

        @Override
        public void onFinish() {
            showToast("Все запросы на разрешения завершены");
        }

        @Override
        public void onDeny(String permission, int position) {
            Log.i(TAG, "onDeny");
        }

        @Override
        public void onGuarantee(String permission, int position) {
            Log.i(TAG, "onGuarantee");
        }
    });

Таким образом легко получить три обязательных разрешения. Если вы хотите запросить другие разрешения, это тоже возможно:

List<PermissionItem> permissionItems = new ArrayList<PermissionItem>();
permissionItems.add(new PermissionItem(SystemPermission.CAMERA, "Камера", ResourceTable.Media_permission_ic_memory));
permissionItems.add(new PermissionItem(SystemPermission.LOCATION, "Местоположение", ResourceTable.Media_permission_ic_location));
HiPermission.create(MainActivity.this)
            .permissions(permissionItems)
            .checkMutiPermission(...);

Настройка темы Хотите изменить сообщения или цвета интерфейса? Это просто!

HiPermission.create(MainActivity.this)
            .title("Дорогой Господь")
            .permissions(permissionItems)
            .filterColor(getColor(ResourceTable.Color_colorPrimary))// Цвет значков
            .msg("Чтобы сохранить мир во всём мире, пожалуйста, предоставьте эти разрешения!\nДавайте вместе спасём мир!")
            .style(ResourceTable.Pattern_PermissionBlueStyle)
            .checkMutiPermission(...);

После настройки темы обязательно вызовите filterColor(), иначе значки разрешений будут чёрными.

pattern.json

{
  "name": "PermissionBlueStyle",
  "value": [
    {
      "name": "PermissionTitleColor",
      "value": "$color:colorPrimaryDark"
    },
    {
      "name": "PermissionMsgColor",
      "value": "$color:colorPrimary"
    },
    {
      "name": "PermissionItemTextColor",
      "value": "$color:colorPrimary"
    },
    {
      "name": "PermissionButtonBackground",
      "value": "$graphic:shape_btn"
    },
    {
      "name": "PermissionBackround",
      "value": "$graphic:shape_bg_white"
    },
    {
      "name": "PermissionButtonTextColor",
      "value": "$color:permissionColorWhite"
    }
  ]
}

Свойство Тип Описание
PermissionTitleColor int Цвет заголовка
PermissionMsgColor int Цвет текста описания
PermissionItemTextColor int Цвет текста разрешений
PermissionButtonTextColor int Цвет текста кнопок
PermissionButtonBackground drawable Фон кнопки
PermissionBackround drawable Фон диалогового окна
PermissionBgFilterColor int Фильтр фона
PermissionIconFilterColor int Цвет значка

После настройки темы необязательно вызывать filterColor() — можно добавить свойство PermissionIconFilterColor в свой стиль.

Стандартные значки Нужны значки для других разрешений? В HiPermission они есть!

Календарь Камера Контакты Местоположение
Идентификатор ресурса permission_ic_calendar permission_ic_camera permission_ic_contacts permission_ic_location
Микрофон Телефон SMS Хранилище Датчики
List<PermissionItem> permissions = new ArrayList<PermissionItem>();
//Использование значков
permissions.add(new PermissionItem(SystemPermission.CAMERA, getString(ResourceTable.String_permission_cus_item_camera), ResourceTable.Media_permission_ic_camera));
HiPermission.create(MainActivity.this)
        .permissions(permissions)
        .style(ResourceTable.Pattern_PermissionDefaultGreenStyle)
        .checkMutiPermission(...);

Значки по умолчанию чёрного цвета, необходимо вызвать filterColor() для изменения цвета значков.

Внимание

В списке файлов обязательно зарегистрировать запрашиваемые разрешения, иначе после запроса будет отказано по умолчанию, и в настройках — в интерфейсе управления разрешениями это разрешение не отобразится.

Тестовая информация

Тестирование кода CodeCheck прошло без ошибок.

Тестирование кода CloudTest прошло без ошибок.

Проверка на вирусы прошла успешно.

Текущая версия demo-функционала практически не отличается от исходного компонента.

Версии

  • 1.0.0

Информация об авторских правах и лицензировании

Авторские права (C) 2017 WeyYe

Лицензировано в соответствии с лицензией Apache, Версия 2.0 («Лицензия»);
вы не можете использовать этот файл, кроме как в соответствии с Лицензией.
Вы можете получить копию Лицензии по адресу:

http://www.apache.org/licenses/LICENSE-2.0

Если иное не требуется применимым законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое по Лицензии, предоставляется на условиях «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых.
См. Лицензию на конкретный язык, регулирующий разрешения и ограничения, предусмотренные Лицензией.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Простая в использовании красивая библиотека заявок на доступ. Расширить Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/chinasoft_ohos-HiPermission.git
git@gitlife.ru:oschina-mirror/chinasoft_ohos-HiPermission.git
oschina-mirror
chinasoft_ohos-HiPermission
chinasoft_ohos-HiPermission
master