На самом деле, я хочу, чтобы какая-либо трансляция, когда какое-либо другое приложение извлекает данные из поставщика контента, совместно используемого моим приложением.Как получить имя пакета приложения, которое получает доступ к поставщику контента моего приложения?
Q
Как получить имя пакета приложения, которое получает доступ к поставщику контента моего приложения?
3
A
ответ
6
вы можете использовать Binder.getCallingUid()
, чтобы получить uid вызывающего приложения. , затем используйте getPackageManager().getNameForUid(uid)
, чтобы получить имя вызывающего приложения.
Пример:
@Override
public Uri insert(Uri uri, ContentValues values) {
int code = sUriMatcher.match(uri);
String callingPackageName = getContext().getPackageManager().getNameForUid(
Binder.getCallingUid());
Log.d(TAG, "calling Package Name::" + callingPackageName);
if (callingPackageName.equals(PKG_MY_PACKAGE)) {
//do what you want
}
.
.
.
return uri;
}
3
Может быть, я довольно поздно, но в API19 и выше, вы можете просто позвонить
getCallingPackage();
внутри ContentProvider, чтобы сделать этот трюк.
Посмотрите на Android Reference для более подробной информации.
Смежные вопросы
- 1. Как получить доступ к поставщику контента другого приложения
- 2. Пользовательский доступ к поставщику контента из другого приложения
- 3. Android: доступ к поставщику контента из другого приложения
- 4. Синхронизировать доступ к поставщику контента
- 5. Получить имя приложения, зная имя пакета
- 6. Применить ограничение доступа к поставщику контента
- 7. Доступ к моему поставщику содержимого из другого приложения
- 8. Проверьте, пользователь получает доступ NotificationListener моего приложения
- 9. Как получить имя пакета приложения камеры
- 10. Не удалось получить доступ к поставщику контента Android
- 11. Как получить имя приложения, которое сгенерировало перетаскивание
- 12. Могут ли Android-носители получить доступ к поставщику контента с мобильного устройства?
- 13. Как получить доступ к шаблону пакета для другого приложения Meteor?
- 14. Как получить имя поставщика для каждого установленного приложения/пакета?
- 15. Доступ к поставщику содержимого
- 16. Как получить доступ к разветвленным версиям моего приложения в браузере?
- 17. Как получить доступ к приложению gmail из моего приложения?
- 18. Как получить доступ к моему CircleProgressBar из моего приложения?
- 19. Как получить доступ к рингтонам iPhone для моего приложения?
- 20. Получить имя пакета стороннего приложения из основного приложения
- 21. Android получить имя пакета текущего открытого приложения
- 22. Android-оболочка получить имя пакета приложения foreground
- 23. Получить имя пакета другого приложения по имени приложения
- 24. Запуск другого приложения, зная его имя приложения (не имя пакета)
- 25. Доступ к поставщику контента для Android в Webview
- 26. Как получить доступ к файлу classes.dex приложения
- 27. Получить имя (путь) приложения, которое вызвало печать
- 28. Извлечь имя пакета из приложения, которое не имеет кода
- 29. Доступ к поставщику контента на Android из PhoneGap JavaScript
- 30. Как скрыть другие приложения из моего приложения?