Как узнать, было ли приложение перенесено на SD-карту на Android - PullRequest
9 голосов
/ 15 февраля 2012

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

Атрибут ApplicationInfo FLAG_EXTERNAL_STORAGE сообщает только, если приложение установлено на SD, а неесли он был перемещен в.Я создаю список приложений, которые можно переместить на SD-карту.Итак, первый список, который я генерирую, использует installLocation манифеста.Из этого списка я отфильтровал приложения, которые уже были перемещены на SD-карту.

Ответы [ 3 ]

2 голосов
/ 29 марта 2013

Чтобы проверить, установлено приложение на SD-карте или нет, просто сделайте это:

ApplicationInfo io = context.getApplicationInfo();

if(io.sourceDir.startsWith("/data/")) {

//application is installed in internal memory

} else if(io.sourceDir.startsWith("/mnt/") || io.sourceDir.startsWith("/sdcard/")) {

//application is installed in sdcard(external memory)

}
0 голосов
/ 20 февраля 2012

Предположим, этот вопрос (и его принятый ответ) может помочь.

Вкратце: getApplicationInfo (). SourceDir, как здесь указано .

0 голосов
/ 15 февраля 2012

Если ваше место установки - авто, вы можете переместить приложение с SD-карты на телефон или наоборот. Вы можете проверить местоположение приложения вручную в диспетчере приложений устройства.

...