можно получить имя файла установщика, которое хранится на/sdcard/ download /? Я хочу получить из app, имя файла apk, которое его установило. Есть простой способ сделать это, особенно с нерыночным приложением?Android: Как получить имя файла установщика программно?
ответ
Лучше всего включить строку версии в манифест. Это действительно единственный надежный (и профессиональный) метод. Android не сохраняет имя файла, содержащего APK в любом месте, поэтому нет способа получить его.
Теоретически вы могли бы, вероятно, что-то построить с помощью FileObserver
, что наблюдают создание файлов в определенных каталогах, и каждый раз, когда был создан файл с расширением .apk
вы можете открыть файл, извлечь манифест, найти имя пакета APK и затем сохраните это вместе с именем файла в некотором постоянном хранилище. Затем, когда вам нужно получить информацию о версии, вы можете посмотреть в хранилище persisten, чтобы получить имя файла, соответствующее требуемому имени пакета.
Конечно, это будет работать, только если ваше приложение было установлено на устройстве до были загружены/установлены другие файлы APK. Это не помогло бы узнать имя вашего собственного приложения.
Хм, я не уверен, что вы подразумеваете под SDCard или загрузить папку, но вы можете получить АПК путь в системе/директории данных:
командной строки:
$ adb shell pm list packages | grep mk.trelloapp
package:mk.trelloapp
$ adb shell pm path mk.trelloapp
package:/data/app/mk.trelloapp-1/base.apk
или от вас андроид приложения код: (просто запустить процесс)
Process exec = Runtime.getRuntime().exec("pm path mk.trelloapp");
exec.waitFor();
InputStream inputStream = exec.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder builder = new StringBuilder();
String line = null;
while((line = br.readLine()) != null) {
builder.append(line);
}
String commandOutput = builder.toString();
код выше должен просто дать вам Струнный содержащий "пакет: /data/app/mk.trelloapp-1/base.apk"
Когда вы приобретаете путь в каталоге/данных, вы можете попытаться найти тот же (похожий) файл в других каталогах (при условии, что он не был удален), так как пакет android копируется в каталог/data во время установки.
Это не полезно. OP хочет получить исходное имя файла APK, который был загружен, потому что номер версии его приложения закодирован как часть этого имени файла. Путь APK к '/ data' не включает эту информацию, поскольку он использует только имя пакета. –
- 1. NSIS - как получить имя исполняемого файла установщика?
- 2. Android, как получить имя производителя маршрутизатора программно
- 3. Как получить имя ПЗУ от Android программно
- 4. Получить имя файла установщика MSI из пользовательского сценария действия
- 5. Как получить имя файла из ImageView (ANDROID)
- 6. Использование Android DownloadManager, как получить имя файла?
- 7. Как получить переименование имени файла .APK в Android программно?
- 8. Программно получить привязку Имя
- 9. получить имя кэша программно
- 10. Как получить имя приложения для Android от файла apk
- 11. Как я могу получить имя и путь файла apk программно?
- 12. Как программно получить имя cookie сеанса?
- 13. Как получить имя файла?
- 14. Как получить имя файла
- 15. Как получить имя файла?
- 16. Как получить имя файла
- 17. Как получить имя устройства (NOT Build.MODEL) от Android программно?
- 18. получить параметры установщика JAR
- 19. Как редактировать содержимое файла программно в android
- 20. Как получить имя файла в Spark?
- 21. Как получить имя текущего файла в Swift?
- 22. Как получить .app имя файла программным путем?
- 23. Получите имя текущего установочного файла msi из класса установщика
- 24. PowerPoint Программно получить текущее имя файла и сохранить его
- 25. android: install application Программно с использованием установщика пакетов
- 26. Программно получить результат теста RF xml имя файла и путь
- 27. Как получить имя элемента управления, созданного программно
- 28. Как программно получить имя контейнера icloud?
- 29. Как получить имя точки доступа программно
- 30. Как получить имя и имя файла FTP?
Что вы подразумеваете под "установщиком имени файла"? Имя apk? Если да, то зачем вам это нужно? Пожалуйста, добавьте более подробную информацию. –
Да, я хочу получить имя apk, которое хранится на SD-карте. Я создал файл apk и сохранил его на сервере, когда кто-то хочет его загрузить, сервер сгенерирует файл с уникальным именем, например: «application00086.apk». Возникает вопрос: как получить это уникальное имя файла из моего приложения, которое после установки хранится в каталоге:/data/app/Я нашел интересный метод: getInstallerPackageName, но этот метод возвращает только имя пакета установщика и только для приложений, распространяемых на Android Market, я хотите получить файл NIST установщика и не хотите распространять мое приложение на Market. – Wolfie
@Wolfie: Я столкнулся с той же проблемой с тобой. У вас есть решение для этого. Большое спасибо ! – hoang8f