Есть ли способ определить, хранится ли apk на SD-карте или нет? Как?Есть ли способ определить, хранится ли apk на SD-карте или нет?
ответ
Использование getApplicationInfo(). SourceDir
http://developer.android.com/reference/android/content/pm/ApplicationInfo.html
Да ... Вы можете обнаружить то же самое ...
Приложения, загруженные из Android Market хранятся в /данных/приложений (не в SD-карты). системы по умолчанию приложения В сохраняются в /системы/приложения
Однако укоренившиеся телефоны могут хранить приложения в /SDCARD/резервных копий/приложений
и как вы можете это обнаружить? –
Есть несколько недавних приложений с флагом, которые можно установить в их манифесте, если они предпочитают устанавливать на SD-карту ... – Anders
Каждое приложение с рынка устанавливается по умолчанию в память телефона. Невозможно переместить его на SD-карту, не укореняя устройство. ** Apps2SD ** позволяет переносить приложения из внутренней памяти на SD-карту только на корневых устройствах. И, как упоминалось выше, getApplicationInfo(). SourceDir может использоваться для обнаружения местоположения. – Anil
File f = new file(Environment.getExternalStorageDirectory()+"your apk name");
sytem,out.println(""+f.exsits);
Чтобы сделать принятый ответ более конкретным, приведем пример того, как у меня есть ред его в контексте доступа к файлам, записанным на внутренний против внешнего хранения, в соответствии с API level 7 руководящих принципов или ниже:
{ //...
mInternalApp = context.getApplicationInfo().sourceDir.matches("^/data/app/.*");
mPathInternal = context.getApplicationInfo().dataDir + "/files/";
mPathExternal = Environment.getExternalStorageDirectory() + "/Android/data/"
+ PACKAGE_NAME + "/files/";
}
private File getMyFile() {
return (mInternalApp) ? new File(mPathInternal + INT_FILE_NAME) :
new File(mPathExternal + EXT_FILE_NAME);
}
- 1. Есть ли способ определить, приостановлен ли PID Linux или нет?
- 2. Есть ли способ определить, сжата ли страница или нет?
- 3. Есть ли способ определить, нет ли даты/времени?
- 4. Есть ли способ найти, имеет ли XCUIElement фокус или нет?
- 5. У меня есть способ определить, был ли apk запутанным?
- 6. Есть ли способ определить, является ли drawerPanel открытым или закрытым?
- 7. Есть ли способ для кода Swift, чтобы определить, работает ли он на игровой площадке или нет?
- 8. Есть ли лицо на картине или нет
- 9. Есть ли способ определить, отключена ли анимация
- 10. Есть ли способ определить, переопределена ли функция?
- 11. Есть ли способ определить, заблокирован ли объект?
- 12. Есть ли способ проверить, был ли скаляр сканирован или нет?
- 13. Есть ли способ определить, произошло ли исключение?
- 14. Есть ли способ проверить, освобожден ли NSManagedObject или нет?
- 15. Есть ли способ проверить, инициализирован ли пользовательский класс или нет?
- 16. Есть ли способ узнать, запущен ли медиапланер или нет?
- 17. Есть ли способ узнать, является ли метод статическим или нет?
- 18. Есть ли способ проверить, закончился ли токен oauth или нет?
- 19. есть ли способ проверить, включены ли IME-прогнозы или нет?
- 20. Есть ли способ определить, был ли файл выполнен или нет в C#?
- 21. Есть ли способ определить, установлено ли приложение с Market или нет?
- 22. Есть ли способ определить, используется ли набор записей маршрута 53 или нет.
- 23. Есть ли способ определить, работает ли функция в готовом документе или нет?
- 24. Как определить, есть ли у iPhone дисплей сетчатки или нет?
- 25. Есть ли способ определить, является ли это тестом или нет (.NET)?
- 26. Есть ли способ для программы определить, была ли она вызвана MSBuild или нет?
- 27. Есть ли способ программно определить, включено ли устройство Android для IPv6 или нет?
- 28. Есть ли способ в Java, чтобы определить, вызван ли метод в статическом инициализаторе (или нет)?
- 29. Есть ли способ определить, что соединение управляется?
- 30. Есть ли способ определить приоритет сервлет-фильтра?
+1 к вопросу. но интересно, у вас есть необходимость. Установлено ли приложение в SD-карте или телефоне? –
Нет, мне нужно определить, установлено ли приложение или нет (только на SD-карте) – user1074896
Этот вопрос является дубликатом: http://stackoverflow.com/questions/4004650/android-2-2-how-do- i-detect-if-i-am-installed-on-the-sdcard-or-not , за исключением того, что последний ответ относится только к уровню API 8 и выше. На связанной странице предлагается использовать флаг FLAG_EXTERNAL_STORAGE, который предназначен для конкретной цели. Этот флаг стал доступен в API уровня 8. – Carl