Использование @string для android: полномочия в ContentProvider

У меня есть ContentProvider в моем манифесте, когда я полностью определяю их с жестко заданными строками, он работает. Например,

<provider android:name="com.myprovider" android:authorities="com.myprovider"/>

Работает отлично, однако ContentProvider находится в библиотеке, которая используется несколькими проектами, и мне не нужны конфликты прав доступа, поэтому я попытался сделать следующее.

<provider android:name="com.myprovider" android:authorities="@string/myProviderAuthority">

Таким образом, я смогу определить все мои права доступа находятся в одном файле strings.xml и не имеют конфликтов между приложениями, поскольку я должен иметь возможность изменять их, используя каждую систему переопределения ресурсов приложений.

Однако, похоже, когда я пытаюсь построить с помощью @string, это дает мне неверно сформированная явная ошибка и говорит: «Провайдер не ВКЛЮЧАЕТ (да, он говорит ВКЛЮЧАЕТ) дань властям»

Могу ли я не использовать строку ресурса для дани властей, меня тошнит каждый раз, когда мне нужно поддерживать константы в двух местах. Нашему отделу контроля качества бывает трудно уловить конфликты полномочий, и я не хочу, чтобы что-то стало рассинхронизировано, иначе это может вызвать путаницу. У кого-нибудь есть идеи, почему мой код не работает?

18
задан Juuso Ohtonen 27 April 2012 в 10:23
поделиться