1. 程式人生 > >使用android內建Intent開啟網頁、撥號、打電話

使用android內建Intent開啟網頁、撥號、打電話

//開啟網頁
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
//開啟撥號介面
Intent intent = new Intent();
intent.setAction(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:123456789"));
startActivity(intent);
//直接撥打電話
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:123456789"));
startActivity(intent);

TextView的autolink設定後連結會變顏色並且有下劃線,個人覺得去掉下劃線有點麻煩,所以使用intent實現超連結的功能。

在Xml檔案中設定android:autolink屬性也可以實現相同的效果,只是文字下方會有下劃線

通過程式碼實現

TextView tv = (TextView)this.findViewById(R.id.tv);
Linkify.add(tv,Linkify.WEB_URLS|Linkify.PHONE_NUMBER|Linkify.EMAIL_ADDRESS);

設定多個連線時中間用“|”分隔

Linkify是一個輔助類,它可以讓系統動態獲取並迅速作出判斷,通過RegEx(Regular Express)樣式匹配,自動在TextView類和TextView的繼承類中建立超連結。符合特定的RegEx樣式的文字會被轉變成可點選的超連結,這些連結隱式地呼叫startActivity(new Intent(Intent.ACTION_VIEW,uri)).