Статьи

Предварительно упакованные приложения | Android-учебник для начинающих (часть 4)

Существует множество приложений, которые можно предварительно упаковать в платформу Android, которые можно повторно использовать в приложениях, созданных по индивидуальному заказу, благодаря мощной конструкции Android, основанной на неявных намерениях (неявные намерения см. В  части 3  этой серии).

Здесь мы рассмотрим, как вызывать предварительно упакованные приложения из наших собственных неявных намерений. Обратите внимание, что ни в одном из приведенных ниже фрагментов мы не вызываем предварительно упакованные или системные приложения. Мы просто объявляем намерения и передаем их действию при запуске действия с помощью  
метода startActivity ()
 . Однако для каждого из этих намерений платформа Android находит наиболее подходящее действие и вызывает то же самое:


1. Позвоните по номеру

      Intent callNumber = new Intent();
      callNumber.setAction(android.content.Intent.ACTION_CALL);
      callNumber.setData(Uri.parse("tel:9440012345"));
      startActivity(callNumber);

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

2. Просмотрите веб-сайт по заданному URL:

      Intent searchGivenText = new Intent(Intent.ACTION_WEB_SEARCH);
      searchGivenText.putExtra(SearchManager.QUERY, "Android Examples);
      startActivity(searchGivenText);


Это вызовет поисковую систему Google для поиска строки «Примеры Android» и возврата результатов к вам. Это также может быть обобщено, чтобы принять строку от пользователя и установить намерение перед началом действия.

3. Просмотр карт Google для данного местоположения

      Intent searchAddress = new Intent(Intent.ACTION_VIEW, 
      Uri.parse("geo:0,0?q=Bangalore"));
      startActivity(searchAddress);
Это показывает местоположение Бангалора на Google Maps.

4. Просмотр контактов на телефоне

      Intent contacts = new Intent();
      contacts.setAction(android.content.Intent.ACTION_VIEW);
      contacts.setData(People.CONTENT_URI);
      startActivity(contacts);


Я создал проект Android Eclipse, который демонстрирует все эти примеры, принимая данные от конечного пользователя. Вы можете получить доступ к тому же здесь . 

———
Обновлено 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)