Skip to content
Archive of posts tagged Intent filters

Android e Intent filters per registrare un’applicazione tra quelle per mandare SMS

Un aspetto che mi piace molto della piattaforma Android e’ quello degli Intent filters: un metodo rapido e veloce per esporre al resto del sistema cosa e’ in grado di fare un’applicazione, i tipi di dati che e’ in grado di gestire e le azioni che e’ in grado di compiere. Oltre a quelli definibili dall’utente, ce ne sono tutta una serie che riguardano operazioni standard, come spedire una mail, visualizzare un’immagine, aprire un link ecc. Si ottiene quindi un modo facile e veloce per aggiungere “nuovi pezzi” al sistema oppure estendere quelli esistenti con qualcosa di personalizzato, magari anche migliore, in maniera trasparente all’utente finale e molto facile per il programmatore, che non deve far altro che specificare nel Manifest.xml dell’applicazione quali intent filters le singole activity sono in grado di gestire.

Ad esempio, per fare in modo che la propria applicazione appaia tra la lista di quelle disponibili per mandare un sms oppure per condividere del testo, ecco i passi da eseguire.

Poniamo che l’activity ActSendSms sia in grado di mandare sms. Va aggiunto nel Manifest.xml questo blocco di codice:

<!-- Defines also the app name in the Android menu -->
<activity
android:name="it.rainbowbreeze.smsforfree.ui.ActSendSms"
android:label="@string/common_appName"
>
<!-- Sends sms for someone -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.SENDTO" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="sms" />
<data android:scheme="smsto" />
</intent-filter>

<!-- Sends text to someone -->
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
</activity>

Nei commenti e’ indicato a cosa servono nello specifico i due filtri.

Continue reading ‘Android e Intent filters per registrare un’applicazione tra quelle per mandare SMS’ »