У меня есть служба фона, которая активирует класс BroadcastReceiver
, когда он получает некоторый контент. Я хочу сохранить это на пути приложения во внешнем каталоге, который возвращается путем вызова Context.getExternalFilesDir()
(/sdcard/Android/data/com.example.app/). Однако, поскольку это происходит в фоновом режиме, у меня нет контекста, и поэтому я не могу получить этот путь. Я абсолютно не хочу жестко кодировать путь и хочу, чтобы данные удалялись при удалении приложения. Любой другой способ, которым я могу получить этот полный путь? СамПолучить путь к хранилищу приложений без контекста
2
A
ответ
4
Сервис контекст http://developer.android.com/reference/android/app/Service.html вы можете использовать.
this.getExternalFilesDir()
об услуге.
+0
Пропустил эту большую точку. У службы есть контекст, и она передается методу 'onReceive()' в классе BroadcastReceiver, как CommonsWare упоминается в комментарии. – tekina
3
Попробуйте это,
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
+0
Это не то же самое, что и ** getExternalFilesDir ** –
Смежные вопросы
- 1. Забудьте путь к хранилищу
- 2. Не удается получить путь к внутреннему хранилищу
- 3. Безопасный путь к внешнему хранилищу
- 4. Определение требования к хранилищу приложений
- 5. Путь к внутреннему хранилищу Android
- 6. получить URL, пока путь контекста
- 7. Путь к каталогу приложений
- 8. Как получить путь к хранилищу данных в iPhone simulator 5.1?
- 9. Получить AssetManager без контекста
- 10. Путь к запуску приложений
- 11. Путь к пакету приложений
- 12. Как получить доступ к внешнему хранилищу?
- 13. Доступ к SharedPreferences без контекста
- 14. Путь к хранилищу приложений Android, возвращающий значение null только для классов .jar
- 15. Использование osmdroid без доступа к внешнему хранилищу
- 16. Получить основной объект контекста, используя путь LDAP
- 17. Доступ к локальному хранилищу - mosysnc
- 18. Абсолютный путь к изменению контекста аппликации
- 19. Получить абсолютный путь к файлу без расширения
- 20. Получить путь к местоположению без parmaters
- 21. Получить путь к файлу без файла
- 22. Как получить путь к приложению (без app.exe)?
- 23. Доступ к хранилищу Blob из службы приложений Azure
- 24. Создать групповой доступ к хранилищу firebase без использования пользовательской авторизации
- 25. Как получить URI запроса без контекста?
- 26. Как поддерживать переменный путь контекста?
- 27. Как получить доступ к хранилищу github
- 28. Не удается получить доступ к хранилищу сертификатов
- 29. Как получить Путь приложения в Tomcat (не из контекста сервлета)
- 30. WSO2 emm: Не удалось предоставить доступ к хранилищу приложений
«Однако, поскольку это происходит в фоновом режиме, у меня нет контекста» - «Контекст» передается как параметр «onReceive()». И поскольку ваш дисковый ввод-вывод должен быть делегирован в «Сервис» (возможно, «IntentService» использует свой фоновый поток), «Сервис» также является «Контекстом». – CommonsWare