Здесь мы рассмотрим, как вызывать предварительно упакованные приложения из наших собственных неявных намерений. Обратите внимание, что ни в одном из приведенных ниже фрагментов мы не вызываем предварительно упакованные или системные приложения. Мы просто объявляем намерения и передаем их действию при запуске действия с помощью
метода startActivity ()
. Однако для каждого из этих намерений платформа Android находит наиболее подходящее действие и вызывает то же самое:
Intent callNumber = new Intent(); callNumber.setAction(android.content.Intent.ACTION_CALL); callNumber.setData(Uri.parse("tel:9440012345")); startActivity(callNumber);
Intent searchGivenText = new Intent(Intent.ACTION_WEB_SEARCH); searchGivenText.putExtra(SearchManager.QUERY, "Android Examples); startActivity(searchGivenText);
Intent searchAddress = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:0,0?q=Bangalore")); startActivity(searchAddress);
Intent contacts = new Intent(); contacts.setAction(android.content.Intent.ACTION_VIEW); contacts.setData(People.CONTENT_URI); startActivity(contacts);
———
Обновлено 31 марта 2010 г .: В приведенном выше примере используется Android SDK 1.5 Начиная с SDK 1.6 и выше, класс Contact.People устарел, и нам необходимо использовать класс ContactsContract. Итак, строка в коде
contacts.setData(People.CONTENT_URI);
должен быть заменен
contacts.setData(ContactsContract.Contacts.CONTENT_URI);
Вот полный исходный код, который был протестирован с Android SDK 2.1
Источник: предварительно упакованные приложения | Учебник для Android разработчиков (часть 4)