Home > Guide e tutorial per Android > Guida programmazione Android – Lezione 18: Intent

Guida programmazione Android – Lezione 18: Intent

Lezione18

Lezione18Oggi approfondiremo un po’ di più il concetto di Intent in Android, e vedremo come utilizzarlo per condividere link su Facebook!
Abbiamo già incontrato nelle lezioni precedenti il concetto di Intent. Tramite questo dichiariamo l’intenzione di fare qualcosa, ad esempio di far partire una nuova activity. In realtà possiamo utilizzarlo per moltissime cose, come condividere un link (quello del nostro sito) su un social network.
Creiamo un nuovo progetto col nome “EsempioIntent”.
Non ci soffermeremo troppo sulla grafica della nostra applicazione, che mostrerà solo un Button per lo share.
Aggiungiamone quindi uno al nostro layout (si trova in Form Widgets) e cambiamo il campo Text (in basso a dx in figura) in share!
layout EsempioIntent

Passiamo ora alla parte Java, quella sostanziosa. Scriviamo questo codice:

package com.example.esempiointent;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
	Button button;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		button=(Button)findViewById(R.id.button1);
		button.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				Intent i=new Intent(android.content.Intent.ACTION_SEND);
				i.setType("text/plain");
				i.putExtra(android.content.Intent.EXTRA_TEXT, "http://www.androidblog.it/");
				startActivity(Intent.createChooser(i, "share attraverso:"));  
			}
		});
	}
}

Nella onClick() del button definiamo un intent ActionSend di tipo text e aggiungiamo come Extra il link del nostro sito.
Inoltre diciamo di visualizzare lo chooser per scegliere quale applicazione deve soddisfare la nostra “intenzione”. Provando infatti il codice di questa lezione sul nostro terminale comparirà un menù con diverse scelte, poichè potrebbe esserci più di un applicazione che può compiere ActionSend. Questa è una delle particolarità più interessanti del panorama Android e che ha contribuito al suo successo. Per condividere il link su Facebook basterà quindi selezionarlo nello chooser.
Potrete approfondire ulteriormente il concetto di IntentFilters e di interazione fra le diverse app a questo link.
Puoi guardare tutte le lezioni passate consultando l’indice del corso di programmazione android