Zoeken…


Syntaxis

  • Intent ()
  • Intent (Intent o)
  • Intent (tekenreeksactie)
  • Intent (tekenreeksactie, Uri uri)
  • Intent (ContextpakketContext, Class <?> Cls)
  • Intent (Stringactie, Uri uri, ContextpakketContext, Class <?> Cls)

parameters

parameters Details
O voornemen
actie String: de actie Intent, zoals ACTION_VIEW.
uri Uri: de intentie data URI.
packageContext Context: een context van het toepassingspakket dat deze klasse implementeert.
cls Class: de componentklasse die voor de intentie moet worden gebruikt.

Opmerkingen

Impliciete en expliciete intenties

Een expliciete intentie wordt gebruikt voor het starten van een activiteit of service binnen hetzelfde toepassingspakket. In dit geval wordt de naam van de beoogde klasse expliciet vermeld:

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

Er wordt echter een impliciete intentie over het systeem verzonden voor elke toepassing die op het apparaat van de gebruiker is geïnstalleerd en die intentie kan verwerken. Dit wordt gebruikt om informatie tussen verschillende applicaties te delen.

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
}

Meer details over de verschillen zijn te vinden in de documentatie voor Android-ontwikkelaars hier: Intent Resolution

Impliciete intenties

Impliciete intenties noemen geen specifieke component, maar verklaren in plaats daarvan een algemene actie die kan worden uitgevoerd, waardoor een component uit een andere app ermee kan omgaan.

Als u bijvoorbeeld de gebruiker een locatie op een kaart wilt laten zien, kunt u een impliciete intentie gebruiken om te vragen dat een andere geschikte app een specifieke locatie op een kaart weergeeft.

Voorbeeld:

// 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow