Intereting Posts
Невозможно добавить двойной SharedPreferences Сжимайте видео, как whatsapp Что произойдет, если minSdkVersion будет меньше, чем targetSdkVersion? Как установить 24-часовой формат даты на java? Как отправить код USSD, содержащий десятичную плавающую точку (.)? Динамическая настройка содержимого и макета виджета до размера, определяемого пользователем путем изменения размера. Android Recyclerview Изменение элементов во время прокрутки Как отлаживать «com.android.okhttp» Получить все дочерние представления внутри LinearLayout сразу Ограничить количество строк в TextView Что такое authorizedEntity? Не удается найти gcm_defaultSenderId в собственном приложении. Как обрабатывать языки RTL в версиях Android до 4.2? Каждый раз, когда я нажимаю на файл Android XML в Eclipse, он загружает данные для всех версий API Создавайте ошибки с новыми параметрами kotlin 1.1, kapt cant parse databinding params Почему у ContentValues ​​есть метод put, который поддерживает Boolean?

Можно ли установить System DateTime из моего Android-приложения?

Я хочу установить системные часы SystemClock.setCurrentTimeMillis , но встретил следующую ошибку:

 "Unable to open alarm driver: Permission denied" 

Ниже приведено описание API setCurrentMillis сайте разработчиков Android:

 public static boolean setCurrentTimeMillis (long millis) 

Поскольку: API Level 1 Устанавливает текущее время стены в миллисекундах. Требуется, чтобы вызывающий процесс имел соответствующие разрешения.

Возвращает, если часы были успешно установлены на указанное время.

Таким образом, приложение должно получить разрешение для установки времени. В AndroidManisfest.xml я вставил android.permission.SET_TIME но у меня такая же ошибка сообщения.

Я пробовал различные решения, найденные в Интернете, и кажется, что невозможно установить системное время без root даже на FroYo (Android 2.2), где введено android.permission.SET_TIME , нормальное приложение не может получить это разрешение, потому что / dev / Аварийный файл имеет 664 permission . Таким образом, решение состоит в том, чтобы изменить разрешение в 666 но требует внедренного устройства и слишком инвазивным, чтобы быть решением.

Я хочу создать приложение для своей компании для синхронизации данных между различными системами и имеет важное значение для синхронизации часов.

Заранее благодарю за вашу готовность

Затмения

Solutions Collecting From Web of "Можно ли установить System DateTime из моего Android-приложения?"

Затмения,

Я проверил вас на этом и нашел открытый билет с Google, чтобы решить проблему. Единственное, что тег был открыт с 8 ноября 2009 года. В принципе, только система может изменить время даже с разрешением. Согласно комментариям по ссылке ниже, разработчик сделал некоторые исследования и отметил, что когда было создано разрешение SET_TIME, ему не был предоставлен соответствующий уровень защиты в ОС (подсистема signorSystem против опасного). В результате он не делает того, что он должен делать.

http://code.google.com/p/android/issues/detail?id=4581

Вот объяснение различных уровней защиты, которые могут иметь разрешения. В настоящее время, по словам разработчика, над SET_TIME есть «signatureorSystem», когда он должен иметь «опасный».

http://developer.android.com/guide/topics/manifest/permission-element.html#plevel

Короче говоря, в настоящее время нет возможности изменить время программно, не укореняя телефон.

Последнее замечание состоит в том, что если вы хотите пойти с Custom roms, есть также открытый билет для Cyanogenmod, чтобы добавить возможность их рома.

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=CyanogenMod+SET_TIME

Надеюсь, это поможет некоторым, Джордж

Согласно этому сообщению , SET_TIME является правильным разрешением, но оно будет работать только на корневом телефоне.

Мы это сделали. Не большое дело, если вы можете получить pseission SET_TIME. См. Мой ответ на аналогичный вопрос .

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