Как получить список поставщиков контента для всех пользователей на планшете

Я могу получить список поставщиков контента для зарегистрированных пользователей на планшете, используя этот код:

for (PackageInfo pack : getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS)) {
    ProviderInfo[] providers = pack.providers;
    if (providers != null) {
        for (ProviderInfo provider : providers) {
            Log.d(TAG, "provider info: " + provider.authority);
        }
    }
}

Но в приведенном выше коде не перечислены ВСЕ поставщики контента, доступные на устройствах, включая других пользователей и профили с ограниченным доступом.

Мой вопрос: можно ли составить список поставщиков контента для всех пользователей/профилей на планшете?

Я вижу другие вопросы на SO об этом, но они только перечисляют контент провайдеры только для зарегистрированных пользователей.


person bianca    schedule 02.06.2016    source источник
comment
Здравый смысл иметь возможность получать данные только для вошедшего в систему пользователя. В противном случае это будет нарушением безопасности.   -  person Jehy    schedule 06.06.2016
comment
Что, если я хочу написать поставщика контента, который будет доступен всем пользователям планшета. Можно ли вообще определить такой cp?   -  person bianca    schedule 06.06.2016
comment
Я думаю, что тогда каждому пользователю придется запускать свое приложение отдельно.   -  person Jehy    schedule 06.06.2016
comment
@Jehy Не уверен, правильно ли я понял. Я хочу исправить общий CP, который должен быть доступен в моих приложениях для всех пользователей на столе. Это вообще возможно ?   -  person bianca    schedule 06.06.2016
comment
Попробуйте этот ответ: stackoverflow.com/a/5302610/1727132 - он не пытается получить все установленные пакеты, чтобы он мог возможно сработает... Если нет, то это невозможно.   -  person Jehy    schedule 07.06.2016
comment
@Jehy: я пробовал и другие подходы по ссылке. Я обнаружил, что контент-провайдер не может предоставлять данные системным пользователям на планшете. Спасибо за помощь!   -  person bianca    schedule 10.06.2016
comment
@bianca, судя по вашему комментарию, вы решили, что то, что вы хотите сделать, невозможно. Не могли бы вы опубликовать ответ на свой вопрос, документируя то, что вы нашли? Я уверен, что другие оценят это.   -  person Richard Chambers    schedule 11.06.2016


Ответы (1)


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

person bianca    schedule 13.06.2016