Chuyển đến nội dung chính

CALL- SMS trong các ứng dụng Android

Trong bài này chúng ta sẽ tìm hiểu cách gửi tin nhắn SMS. Về cơ bản thì có 2 cách để có thể gửi SMS là:
Chúng ta cần quyền READ_PHONE_STATE để có thể theo dõi trạng thái của điện thoại. Thêm nó vào AndroidManifest.xml:
Lớp SmsManager cho phép chúng ta thiết lập các thông số khác nhau và do đó chúng ta có thể gửi tin nhắn một cách linh hoạt theo ý chúng ta muốn. Còn cách sử dụng Intent tức là chúng ta chỉ đơn giản là mở một ứng dụng SMS khác trong máy ra rồi để người dùng “tự xử” thôi. Trong bài này chúng ta sẽ sử dụng lớp SmsManager.
Chúng ta định nghĩa phương thức sendSms() tương ứng như đã khai báo với Button.
1
SmsManager smsManager = SmsManager.getDefault();
Lớp SmsManager sẽ chịu trách nhiệm việc gửi tin nhắn. Chúng ta không tạo lớp này một cách trực tiếp mà gọi từ phương thức SmsManager.getDefault().
1
2
3
4
5
smsManager.sendTextMessage(phoneNumber.getText().toString(),
                    null,
                    content.getText().toString(),
                    null,
                    null);
Để gửi tin nhắn thì chúng ta gọi phương thức SmsManager.sendTextMessage(). Tham số đầu tiên là số điện thoại nhận. Tham số thứ 2 là chuỗi chỉ định địa chỉ của trung tâm tin nhắn (Short Message Service Center – SMSC), về cơ bản thì khi bạn gửi một tin nhắn đến một số điện thoại nào đó, tin nhắn của bạn phải được gửi về trung tâm này rồi trung tâm này sẽ gửi đến số điện thoại đích trong thẻ SIM của bạn, ở đây chúng ta truyền vào null thì phương thức này sẽ sử dụng số SMSC mặc định. Tham số thứ 3 là nội dung tin nhắn truyền đi. Tham số thứ 4 và thứ 5 là đối tượng Intent được gọi khi tin nhắn đã được gửi đi và khi người nhận đã nhận được tin nhắn, ở đây chúng ta truyền vào null.
1
2
3
4
catch(IllegalArgumentException ex)
{
    Toast.makeText(getApplicationContext(), "Sending SMS failed", Toast.LENGTH_LONG).show();
}
Phương thức sendTextMessage() giải phóng lỗi IllegalArgumentException khi số điện thoại và nội dung tin nhắn nhập vào là rỗng, chúng ta có thể bắt lỗi này để xử lý.
Ví dụ sau đây cho bạn thấy trong thực tế như thế nào để sử dụng đối tượng SmsManager để gửi một tin nhắn SMS đến cácsố điện thoại di động nhất định.
Bước Mô tả
1Bạn sẽ sử dụng Android Studio IDE để tạo ra một ứng dụng Android và đặt tên nó như tutorialspoint dưới mộtcom.example.tutorialspoint góiTrong khi tạo dự án này, chắc chắn bạn Target SDK  biên dịch với các phiên bảnmới nhất của Android SDK sử dụng các cấp cao hơn của các API.
2Sửa src / file MainActivity.java và thêm mã yêu cầu để chăm sóc của việc gửi email.
3Sửa đổi bố trí tập tin XML res / layout / activity_main.xml thêm bất kỳ thành phần giao diện nếu cần thiếtTôi thêmmột giao diện đơn giản để có số lượng và SMS di động để gửi  một nút đơn giản để gửi tin nhắn SMS.
4Không cần phải định nghĩa các hằng chuỗi mặc định  res / values / strings.xmlAndroid Studio sẽ chăm sóc củacác hằng số mặc định.
5Sửa AndroidManifest.xml như hình dưới đây
6Chạy ứng dụng để khởi chạy giả lập Android và xác minh kết quả của những thay đổi được thực hiện trong các ứng dụng.

private void Mess() {    final SmsManager sms=SmsManager.getDefault();    Intent msgSent=new Intent(Intent.ACTION_SEND);    final PendingIntent ped=PendingIntent.getBroadcast(this,0,msgSent,0);    registerReceiver(new BroadcastReceiver() {        @Override        public void onReceive(Context context, Intent intent) {            int rs=getResultCode();            String ms="OK";            if(rs != Activity.RESULT_OK){                ms="Loi!";            }            Toast.makeText(MessActivity.this,ms,Toast.LENGTH_LONG).show();        }    }, new IntentFilter(Intent.ACTION_SEND));    sms.sendTextMessage(selectedContac.getPhone(),null,textNoiDung.getText()+"",ped,null);}

Nhận xét

Bài đăng phổ biến từ blog này

Entry Test của FPT

IQ - Kiểm tra tư duy logic (8/20) - GMAT- Kiểm tra khả năng tính toán trong thời gian ngắn (8/20) - Tiếng Anh (18-> 25/50) - Các bài thi chuyên môn - FE (8/20) IQ: lên mạng tìm "IQ test" là ra đầy. + GMAT: Những câu trắc nghiệm tính toán đơn giản kiểu như sau:  1 . Một shop thời trang sale off quần jeans 15 %, quần jeans giá 450 $, người mua đưa 500 $, hỏi cashier trả lại bao nhiêu $ tiền thừa.? 2 . 100 % là 180 , vậy 150 là bao nhiêu %? Tiếng anh: Cỡ như thi TOEIC thôi. Chuyên môn: Mobile thì trắc nghiệm Java. Qúa trình tuyển như sau :v Lần 1: Test IQ, Tiếng Anh( mình làm í ẹ khoảng 50% mà vẫn được) , Java Lân 2: được gọi điện lên :)) + Gioi thiệu bản thân + Họ chỉ hỏi các câu căn bản như: -. OOP: là gì, 4 tính chất, ví dụ, khác nhau giữa interface và abstract - CODE: hầu toàn các bài toán vòng for :)) , cẩn thận mấy câu kế thừa. SQL (distinct, view, function, cursor, store procedure, ...v.v.), nhớ có câu cộng 2 số int không dùng biến đệm hơi khoai haha + Nói ch...

Java: Java Package-Thư viện trong Java

Giới thiệu về Package Các bạn mới học lập trình Java thường không dể ý tới package vì các bạn toàn tạo file .java vào cùng 1 chỗ, không cần sắp xếp, không cần quản lý truy nhập. Nhưng để tăng kỹ năng lập trình với Java, các bạn cần phải tìm hiểu về package trong Java. Các bạn có thể tham khảo định nghĩa sau: Package được dùng để đóng gói các lớp trong chương trình lại với nhau thành một khối. Đây là cách tốt nhất để lưu trữ các lớp gần giống nhau hoặc có cùng một module thành một khối thống nhất – để đáp ứng 1 khối chức năng. Từ đây mình sẽ giới thiệu thêm với các bạn các câu lệnh nhâp khẩu,nó có định dạng như sau : Định dạng :  import javaPackageNameImport;    Nó giống như khai báo thư viện ở các ngôn ngữ lập trình khác.Như vậy,chỉ khi các bạn nhập khẩu chúng,các bạn mới có thể sử dụng thư viện mà chúng cung cấp cho ta. VD :    import java.util.Date;   import java.text.SimpleDateFormat; Lưu ý : -Các câu lệnh nhập khẩu rất nhiều và...

Khác nhau giữa Array và ArrayList và HashMap

Collection bản chất là tập các lớp dùng để lưu trữ danh sách và có khả năng tự co giãn khi danh sách thay đổi : Thêm , sửa , xóa , chèn … Hai lớp Collection thường được sử dụng nhiều nhất là ArrayList và Hashmap Giới thiệu về ArrayList ArrayList sử dụng cấu trúc mảng để lưu trữ phần tử , tuy nhiên có hai đặc điểm khác mảng : Không cần khai báo trước kiểu phần tử . Không cần xác định trước số lượng phần tử ( kích thước mảng ). N ó có kh ả năng truy c ậ p ph ầ n t ử ng ẫ u nhiên (Do th ừ a k ế t ừ interface RandomAccess ). P hương thức khởi tạo ● ArrayList () ● ArrayList (Collection c) ● ArrayList ( int initialCapactity ) Các phương thức chính ● add(Object o) ● remove(Object o) ● get( int index) ● size() ● isEmpty () ● contains(Object o) ● clear() Giới thiệu về HashMap ● Là ki ể u t ậ p h ợ p t ừ đ i ể n, HashMap cho phép truy xu ấ t tr ự c ti ế p t ớ i m ộ ...