Запуск неизвестных действий из приложения для Android - PullRequest
0 голосов
/ 05 апреля 2010

Я хочу создать приложение для Android, которое показывает список приложений (загруженных с Android Market) и запускает приложение, выбранное пользователем. Из того, что я прочитал, я должен был использовать такие намерения, как это:

  Intent intent = new Intent();
  intent.setClassName(packageName, className);
  startActivity(intent);

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

Мой вопрос: как я могу запустить эти приложения, если я не знаю их packageName или className? или, может быть, как мне узнать их className и packageName, если это приложение с закрытым исходным кодом, которое я не разрабатывал.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 05 апреля 2010

Короче, ты не можешь. Но Android позволит вам получить список установленных пакетов вместе с их полностью определенными именами классов. Проверьте код по этой ссылке , чтобы получить пример того, как получить этот список пакетов. Насколько я знаю, нет способа определить, откуда был установлен пакет, но вы можете сравнить его со списком известных приложений, которые должны быть предварительно установлены на устройстве, и отфильтровать их. Идея заключалась в том, что если это не предустановленное приложение, оно, скорее всего, было установлено через магазин.

0 голосов
/ 05 апреля 2010

Используйте PackageManager, чтобы узнать установленные приложения и тому подобное. На самом деле, вы найдете пример этой книги , который делает то, что вам нужно.

...