Простой и безопасный доступ благодаря разрешению определения поставщика: protectionLevel = подпись
Это работает, только если вы являетесь единственной фирмой, использующей контент-провайдера.
Для безопасного доступа ключ подписи контент-провайдера должен быть предоставлен стороннему приложению, которое не является идеальным.
Я бы описал это как «может соответствовать медицинскому определению« безумия »».Ваши третьи лица смогут изменять ваши «защищенные» данные, подделывать приложения, которые были опубликованы вами, передавать ваш ключ подписи авторам вредоносных программ и т. Д.
Content Provider возвращает только объект Cursor длястолбцы, которые были запрошены.
Вы можете использовать API поставщика содержимого на основе файлов в дополнение или вместо API поставщика содержимого на основе Cursor
.См. Методы, такие как openInputStream()
на ContentResolver
.
Существуют ли какие-либо существенные различия в производительности и аккумуляторе?
Не особенно.
Может ли выполняться асинхронно?
Оба могут, хотя лично я нахожу это немного проще с услугами.
Любые другие комментарии / предложения к списку?
Разрешения одинаково хорошо работают с поставщиками услуг и контента, но я хочу еще раз подчеркнуть, что вы никогда не должны передавать свой ключ подписи третьим лицам, за исключением, возможно, под дулом пистолета.