2013-06-07 1 views
3

Я хотел бы добавить в свое приложение функциональность «непрочитанных SMS-сообщений», для которых требуется наличие новых разрешений для Android, поскольку не всем моим пользователям потребуется эта функциональность как распространять его как плагин, чтобы избежать слишком большого количества разрешений для основного приложения.Лучший способ разделить разрешения Android на несколько приложений/плагинов

Приложение уже находится на рынке, и я не указывал «UID», когда я впервые опубликовал его, поэтому общее пространство «UID» не является вариантом.

Вопрос в том, что это лучший способ сделать это? Является ли удаленный сервис AIDL единственным вариантом, который у меня есть? Есть ли более простое решение?

+1

Я считаю, что вы можете использовать контент-провайдера в плагине и использовать его в своем главном приложении. – Lesleh

ответ

4

Является ли удаленная служба AIDL единственным вариантом, который у меня есть?

No.

Есть ли простое решение?

Создать ContentProvider прокси для (без документов и без поддержки) ContentProvider, что вы пытаетесь получить доступ.

Проекты в this directory демонстрируют такой прокси и потребитель этого прокси. В моем случае я проксировал CallLog, но та же концепция применяется для любых ContentProvider.

Ключи:

  • ли плагин держать желаемое разрешение на ContentProvider оно что проксирующий

  • Есть как приложение и плагин определить разрешение пользовательских сигнатур уровня, которые будут использоваться С помощью таких плагинов (<permission>)

  • Есть приложение держать такое разрешение (<uses-permission>)

  • Есть плагин защиту ContentProvider прокси с помощью этого пользовательского разрешения (android:permission)

Это позволит вашему приложению получить доступ к ContentProvider прокси плагина, а не протекает способность доступа к проксируемому ContentProvider другим.

+0

Выглядит намного шире, чем подход AIDL! Я буду проверять его и отмечать как разрешенный, если он работает, но полезен в любом случае! – JohnUopini

+0

Работы и одинаковый подход могут также использоваться для широковещательных приемников (например, разрешение «звонок»), поэтому его довольно гибкий, спасибо большое – JohnUopini

 Смежные вопросы

  • Нет связанных вопросов^_^