2011-06-27 17 views
7

Chcę wysłać wiadomość SMS z treścią wiadomości, np. "Gdzie jestem?" po kliknięciu "gdzie jestem?", Przeniesie mnie do strony mapy Google z moją lokalizacją. Moje pytanie brzmi: jak mogę dodać ten hiperlink w "gdzie jestem?" Wiadomość tekstowa? Czy istnieje przykład, który mogę studiować?Jak dodać hiperłącze w wiadomości sms w telefonie z Androidem?

+0

Myślę, że SMS jest po prostu dla tekstu. – Blender

Odpowiedz

8

SMSy są tylko tekst, i pozwalają one tylko 160 znaków. Co sugerujesz, to "gdzie jestem?" w 160 znakach, ale także w jakiś sposób zawierają bardzo długi adres internetowy.

Pierwszą rzeczą którą chcesz zrobić, to skorzystać z jakiejś usługi skracania adresów URL. Nie mam takiego, który osobiście mogę polecić, ale są między innymi aplikacje Django i usługi online, do których można się podłączyć za pomocą API (np. Bit.ly). Dzięki temu uzyskasz unikalny link do łatwego dopasowania dostępnych znaków wiadomości SMS.

Większość inteligentnych telefonów przeanalizuje łącze i sprawi, że będzie "klikalny", nawet jeśli jest w SMS-ie. Na przykład możesz przeczytać tekst:

Where am I? www.linkgoesh.ere/somehash 

Użytkownik powinien mieć możliwość kliknięcia linku i odwiedzenia witryny. To nie jest tak eleganckie, jak sugerujesz, ale SMS to (koniecznie) ograniczony format.

+0

Dzięki, spróbuję twoich sugestii! – Jim31837

+1

Wróciłem do domu i przetestowałem go, i tak, jeśli wyślesz adres (np. Www.loadingreadyrun.com) na telefon z systemem Android za pomocą wiadomości SMS, aplikacja SMS przetworzy go i pozwoli na kliknięcie, otwierając przeglądarkę i odwiedzając adres. W każdym razie działa na Desire. –

+0

Należy jednak zachować ostrożność, ponieważ nie wszystkie urządzenia będą replikować to zachowanie. Alternatywą, którą możesz chcieć sprawdzić, jest "Push SMS". Są one zaprojektowane tak, aby przekazywać adresy URL do klienta SMS i automatycznie otwierać ten zasób, często są one wykorzystywane do pobierania klienta MMS w celu pobrania wiadomości MMS z serwera. – shawty

-2

Spróbuj tego kodu, należy go rozwiązać problem.

String uri = "http://maps.google.com/maps?saddr="+latitude +","+longitude;         
SmsManager smsManager = SmsManager.getDefault(); 
StringBuffer smsBody = new StringBuffer(); 
//long number = Long.parseLong(get_number); 
smsBody.append(Uri.parse(uri)); 
smsManager.sendTextMessage(get_number, null, smsBody.toString(), null, null); 
+9

Zwyczajem jest dodanie prostego, krótkiego wyjaśnienia na temat funkcjonalności kodu. –

Powiązane problemy