Важно (9.07.22)

Если картинки в постах не отображаются, зайдите в блог через прокси. РКН заблокировал поддомены blogger.com на которые загружались картинки.

вторник, 4 марта 2014 г.

Управляем настройками Android из приложения

На платформе Андроид все общесистемные параметры, которые доступны через настройки, также доступны для вашего приложения. Вам просто нужно поставить галочку напротив «WRITE_SETTINGS» в «Uses Permission». Вот простой пример Delphi XE5, позволяющий изменить тайм-аут экрана. 



Прежде всего, необходимо добавить в «uses»:
Androidapi.JNI.Provider, // JSettings_SystemClass
FMX.Helpers.Android; // SharedActivityContext

Вот код для чтения и установки параметра «тайм-аут экрана»:
function GetScreenOffTimeout: Integer;
begin
  Result := TJSettings_System.JavaClass.getInt(
    SharedActivityContext.getContentResolver,
    TJSettings_System.JavaClass.SCREEN_OFF_TIMEOUT,
    15000);  // 15 seconds is default is not found
end;
 
function SetScreenOffTimeout(ATimeOut: Integer): Boolean;
begin
  Result := TJSettings_System.JavaClass.putInt(
    SharedActivityContext.getContentResolver,
    TJSettings_System.JavaClass.SCREEN_OFF_TIMEOUT,
    ATimeOut);
end;

В GetScreenOffTimeout мы передаем значение для использования по умолчанию, если оно не найдено. Я установил его в 15000, что составляет 15 секунд, или наименьшее значение для моего телефона. Наибольшее значение в моем телефоне 600000, которое равно 10 минутам. Похоже, вы можете установить любое значение, даже которого нет в настройках.

Примечание: Все внесённые изменения сохраняются для всех приложений!

Какие ещё настройки можно изменить: API Android: provider/Settings.System


p.s. Это вольный перевод статьи Setting Android Settings (Автор: Jim McKeeth)