Поиск…


Синтаксис

  • Намерение ()
  • Намерение (намерение o)
  • Intent (String action)
  • Намерение (String action, Uri uri)
  • Intent (Context packageContext, Class <?> Cls)
  • Intent (String action, Uri uri, Context packageContext, Class <?> Cls)

параметры

параметры подробности
о умысел
действие String: действие Intent, такое как ACTION_VIEW.
URI Uri: URI данных о намерениях.
packageContext Context: контекст пакета приложений, реализующего этот класс.
ЦБС Class: класс компонента, который должен использоваться для намерения.

замечания

Неявные и явные намерения

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

Intent intent = new Intent(this, MyComponent.class);
startActivity(intent);

Тем не менее, неявное намерение отправляется по всей системе для любого приложения, установленного на устройстве пользователя, которое может справиться с этим намерением. Это используется для обмена информацией между различными приложениями.

Intent intent = new Intent("com.stackoverflow.example.VIEW");

//We need to check to see if there is an application installed that can handle this intent
if (getPackageManager().resolveActivity(intent, 0) != null){ 
    startActivity(intent);
}else{
    //Handle error
}

Более подробную информацию о различиях можно найти в Android разработчика документации здесь: Намерение Разрешение

Неявные намерения

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

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

Пример:

// Create the text message with a string
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage);
sendIntent.setType("text/plain");

// Verify that the intent will resolve to an activity
if (sendIntent.resolveActivity(getPackageManager()) != null) {
    startActivity(sendIntent);
}


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow