Не удается разрешить провайдера для контента: //com.android.alarmclock/alarm - PullRequest
3 голосов
/ 18 февраля 2012

Я делаю это приложение только для себя, с api 9 и стоковым будильником.

Я нашел это: http://code.google.com/p/android-alarm-database/

и в создании моей основной деятельности это:

ContentResolver cr = getContentResolver();
AlarmDatabase ad = new AlarmDatabase(cr);
Record r = ad.getNearestEnabledAlarm();

Когда я использую содержимое URI: //com.android.alarmclock/alarm, это дает мне в logcat:

Cannot resolve provider for content://com.android.alarmclock/alarm
Failed to find provider info for com.android.alarmclock

И чем я пытался с контентом: // com.android.deskclock / alarm:

Permission denied: checkComponentPermission() reqUid=10009
Permission Denial: opening provider com.android.deskclock.AlarmProvider from ProcessRecord{407cf3b0 15716:com.my.app/10137} (pid=15716, uid=10137) requires null or null

Ответы [ 3 ]

2 голосов
/ 08 января 2013

Обратите внимание, что разрешения для файла alarms.db находятся в /data/data/com.android.alarmclock/databases/alarms.db (API 7-8) или /data/data/com.android.deskclock/databases/alarms.db (API 9-15): -rw-rw ---- .

. Таким образом, мы не можем получить доступ к файлу db, даже имея представление о классе URIMatcher.

До API 8, у нас нет специального класса, доступного для сигналов тревоги, но из API 9 мы можем установить намерение с загруженными дополнениями, чтобы установить сигнал тревоги в приблизительное время.

Я также ищуСпособы решить эту проблему, надеюсь, кто-нибудь найдет полное решение этой проблемы.

2 голосов
/ 14 марта 2012

Правильный URI, начиная с API 9: «content: //com.android.deskclock/alarm». Однако я все еще решаю проблему с разрешениями.

1 голос
/ 23 апреля 2012

Вы можете установить будильник, используя следующий код, так как разработчики предоставляют новый класс для установки будильника. Используйте этот код

Intent i = new Intent(AlarmClock.ACTION_SET_ALARM);
        i.putExtra(AlarmClock.EXTRA_HOUR, 11);
        i.putExtra(AlarmClock.EXTRA_MINUTES, 37);
        i.putExtra(AlarmClock.EXTRA_MESSAGE, "birthday");
        startActivity(i);

его рабочая характеристика.помощь.

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