Aplikace na platformě Android mohou využívat tzv. Intents pro komunikaci mezi sebou. Více informací naleznete na adrese developer.android.com/guide/topics/intents/intents-filters.html, my se v tomto tutorialu zaměříme na jeden konkrétní příklad.
Použijeme Intent DIAL_ACTION pro otevření rozhraní pro vytočení telefonního čísla. Nejprve si vytvoříme layout v XML souboru:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> </LinearLayout>
Syntaxe pro vytvoření třídy Intent je následující:
Intent <intent_name> = new Intent(<Android_Intent>,<data>)
V našem případě nahradíme <intent_name> třídou DialIntent. Parametry v kontruktoru odpovídají typu "zprávy" a poslaných dat. Kód bude vypadat takto:
Intent DialIntent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:123456"));
V tomto konstruktoru tedy specifikujeme, že typ zprávy bude "ACTION_DIAL" a data, která posíláme, bude URI obsahující speciální řetězec telefonního čísla. Celý kód bude tedy vypadat takto:
package cz.cvut.fel.android;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.net.Uri;
public class AndroidPhoneDialer extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent DialIntent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:123456"));
/** Použijeme flag NEW_TASK_LAUNCH ke spuštění aktivity */
DialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
/** Spustíme aktivitu */
startActivity(DialIntent);
}
}Pokud jste vše dělali přesně podle návodu, po spuštění byste měli vidět tuto plochu:
