Разрешения Android OS 2.2: я абсолютно не знаю, почему этот простой кусок кода не работает. Что я делаю неправильно? - PullRequest
5 голосов
/ 27 мая 2010

Я просто играюсь с каким-то кодом. Я создаю 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 ]

12 голосов
/ 27 мая 2010

Существует разрешение SET_TIME_ZONE, но нет разрешения SET_TIME. Приложения не могут программно изменять системные часы.

Обновление

SET_TIME доступен начиная с версии 2.2, но может предоставляться только системному процессу или приложениям, подписанным системной подписью.

2 голосов
/ 16 мая 2011

использование AlarmManager с разрешением SET_TIME для установки системного времени работает:)

0 голосов
/ 27 мая 2010

в System.out.println () используйте Log.v () или аналогичный.

Я думаю, что нашел вашу ошибку, пожалуйста, попробуйте: Удалить </uses-permission> на обеих линиях это должно работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...