Как получить список загружаемых приложений?

В моем приложении мне нужно знать, загружается ли конкретное приложение с Android Market или нет. Как мне достичь этой функциональности? Можно ли получить список всех загрузок, которые находятся в процессе? Рынок Android транслирует какие-либо намерения, которые можно поймать?

Примечание. Поскольку мое целевое приложение работает на устройствах Android 3.0+, у меня нет проблем с использованием класса DownloadManager (начиная с версии 2.3).

2 ответа

Решение

Я нашел API, который будет выполнять то, что вы хотите, но вам нужно иметь API 9 или выше, чтобы использовать его. Вы можете получить все загрузки, которые были запрошены для загрузки из менеджера загрузок, используя это:

DownloadManager manager = (DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Query query = new DownloadManager.Query();
Cursor c = manager.query(query);

Вы можете получить больше информации об этом здесь. Я не думаю, что есть какие-либо другие методы, которые дадут вам эту информацию на более низком уровне API.

Я не думаю, что есть какие-либо намерения приложений для Android Market, которые вы можете поймать (но я не уверен на 100%, потому что я не могу найти приложение Android Market нигде не проявляется).

Как я понимаю, через DownloadManager.query(DownloadManager.Query q) В этом классе вы сможете найти все текущие загрузки и по источнику данных вы можете исключить все, которые не загружаются с рынка.

Другие вопросы по тегам