Разрешения Android OS 2.2: я абсолютно не знаю, почему этот простой кусок кода не работает. Что я делаю неправильно?
Я просто играю с некоторым кодом. Я создаю Activity и просто делаю что-то вроде этого:
long lo = currentTimeMillis();
System.out.println(lo);
lo *= 3;
System.out.println(lo);
SystemClock.setCurrentTimeMillis(lo);
System.out.println( currentTimeMillis() );
Да, в моем AndroidManifest.xml я добавил:
<uses-permission android:name="android.permission.SET_TIME"></uses-permission>
<uses-permission android:name="android.permission.SET_TIME_ZONE"></uses-permission>
Ничего не меняется SystemClock никогда не сбрасывается... он просто тикает. Ошибка, которую я получаю, говорит о том, что программе не было предоставлено разрешение "SET_TIME". Уровень защиты 3.
Разрешения есть... и в API для 2.2 написано, что эта функция поддерживается сейчас. Понятия не имею, что я делаю не так.
Если android.content.Intent; вступает в игру, пожалуйста, объясните. Я не очень понимаю, в чем суть идеи!
Спасибо за любую помощь!
3 ответа
Существует разрешение SET_TIME_ZONE, но нет разрешения SET_TIME. Приложения не могут программно изменять системные часы.
Обновить
SET_TIME доступен начиная с версии 2.2, но может предоставляться только системному процессу или приложениям, подписанным системной подписью.
Использование AlarmManager с разрешением SET_TIME для установки системного времени работает:)
Для использования System.out.println() используйте Log.v() или аналогичный.
Я думаю, что нашел вашу ошибку, пожалуйста, попробуйте: Удалить </uses-permission>
на обеих линиях это должно работать