Thứ Tư, 16 tháng 1, 2019

Khóa học lập trình Android - Android - Gửi SMS

Trong Khóa học lập trình Android, bạn có thể sử dụng API SmsManager hoặc các thiết bị Ứng dụng SMS tích hợp để gửi SMS. Trong hướng dẫn này, chúng tôi cho bạn thấy hai ví dụ cơ bản để gửi tin nhắn SMS

API SmsManager

Khóa học lập trình Android
Khóa học lập trình Android

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("phoneNo", null, "sms message", null, null);

Ứng dụng SMS tích hợp

Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.putExtra("sms_body", "default content"); 
sendIntent.setType("vnd.android-dir/mms-sms");
startActivity(sendIntent);

Tất nhiên, cả hai đều cần sự cho phép SEND_SMS .

<uses-permission android:name="android.permission.SEND_SMS" />

Ngoài phương thức trên, còn có một số hàm quan trọng khác có sẵn trong lớp SmsManager. Các phương pháp này được liệt kê dưới đây

Sr.Không.Phương pháp & Mô tả
1ArrayList <String> splitMessage (Chuỗi văn bản)
Phương pháp này chia một văn bản tin nhắn thành nhiều phần, không lớn hơn kích thước tin nhắn SMS tối đa.
2tĩnh SmsManager getDefault ()

Phương thức này được sử dụng để lấy phiên bản mặc định của SmsManager
3void sendDataMessage (String DestinationAddress, String scAddress, short DestinationPort, byte [] data, PendingIntent sentIntent, PendingIntent deliverIntent)
Phương pháp này được sử dụng để gửi SMS dựa trên dữ liệu đến một cổng ứng dụng cụ thể.
4void sendMultipartTextMessage (String DestinationAddress, String scAddress, ArrayList <String> phần, ArrayList <PendingIntent> sentIntents, ArrayList <PendingIntent> deliverIntents)
Gửi tin nhắn SMS dựa trên nhiều phần.
5void sendTextMessage (String DestinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliverIntent)

Gửi tin nhắn SMS dựa trên văn bản.
Ví dụ sau đây cho bạn thấy cách sử dụng đối tượng SmsManager trong thực tế để gửi SMS đến số điện thoại di động đã cho.

Để thử nghiệm với ví dụ này, bạn sẽ cần thiết bị di động thực tế được trang bị HĐH Khóa học lập trình Android mới nhất, nếu không, bạn sẽ phải vật lộn với trình giả lập có thể không hoạt động
Bậc thangSự miêu tả
1Bạn sẽ sử dụng Android Studio IDE để tạo một ứng dụng Android và đặt tên nó là hướng dẫn trong gói com.example.tutorialspoint .
2Sửa đổi tệp src / MainActivity.java và thêm mã yêu cầu để chăm sóc gửi sms.
3Sửa đổi bố cục tệp XML res / layout / Activity_main.xml thêm bất kỳ thành phần GUI nào nếu cần. Tôi đang thêm một GUI đơn giản để nhận số điện thoại di động và tin nhắn SMS được gửi và một nút đơn giản để gửi SMS.
4Không cần xác định các hằng chuỗi mặc định tại res / value / chuỗi.xml.Android studio chăm sóc các hằng số mặc định.
5Sửa đổi AndroidManifest.xml như hiển thị bên dưới
6Chạy ứng dụng để khởi chạy trình giả lập Android và xác minh kết quả của những thay đổi được thực hiện trong ứng dụng.
Sau đây là nội dung của tệp hoạt động chính được sửa đổi src / com.example.tutorialspoint / MainActivity.java .

Sau đây sẽ là nội dung của tệp res / layout / Activity_main.xml

Ở đây abc chỉ ra về logo hướng dẫnSau đây sẽ là nội dung của res / value / chuỗi.xml để xác định hai hằng số mới -
<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">tutorialspoint</string>
</resources>
Sau đây là nội dung mặc định của AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.tutorialspoint" >
  
   <uses-permission android:name="android.permission.SEND_SMS" />
   
   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name="com.example.tutorialspoint.MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
   </application>
</manifest>
Hãy thử chạy ứng dụng hướng dẫn của bạn . Tôi giả sử bạn đã kết nối thiết bị Khóa học lập trình Android Mobile thực tế của mình với máy tính.

Để chạy ứng dụng từ studio Android, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Chạy từ thanh công cụ.

Trước khi bắt đầu ứng dụng của bạn, trình cài đặt studio Android sẽ hiển thị cửa sổ sau để chọn tùy chọn nơi bạn muốn chạy ứng dụng Android của mình.

Bây giờ bạn có thể nhập một số điện thoại di động mong muốn và một tin nhắn văn bản sẽ được gửi trên số đó. Cuối cùng bấm vào nút Gửi SMS để gửi SMS của bạn. Đảm bảo kết nối GSM / CDMA của bạn hoạt động tốt để gửi SMS đến người nhận.

Bạn có thể lấy một số SMS được phân tách bằng dấu phẩy và sau đó trong chương trình của bạn, bạn sẽ phải phân tích chúng thành một chuỗi mảng và cuối cùng bạn có thể sử dụng một vòng lặp để gửi tin nhắn đến tất cả các số đã cho.

Đó là cách bạn có thể viết ứng dụng SMS của riêng mình. Phần tiếp theo sẽ chỉ cho bạn cách sử dụng ứng dụng khách SMS hiện có để gửi SMS.

Sử dụng Ý định tích hợp để gửi SMS

Bạn có thể sử dụng Khóa học lập trình Android Intent để gửi SMS bằng cách gọi chức năng SMS tích hợp của Android. Phần sau đây giải thích các phần khác nhau của đối tượng Ý định cần thiết để gửi SMS.

Mục đích ý định - Hành động để gửi SMS

Bạn sẽ sử dụng hành động ACTION_VIEW để khởi chạy ứng dụng SMS được cài đặt trên thiết bị Android của bạn. Sau đây là cú pháp đơn giản để tạo ý định với hành động ACTION_VIEW.

Intent smsIntent = new Intent(Intent.ACTION_VIEW);

Đối tượng ý định - Dữ liệu / Loại để gửi SMS

Để gửi SMS, bạn cần chỉ định smsto: vì URI sử dụng phương thức setData () và kiểu dữ liệu sẽ là vnd.android-dir / mms-sms bằng phương thức setType () như sau

smsIntent.setData(Uri.parse("smsto:"));
smsIntent.setType("vnd.android-dir/mms-sms");

Đối tượng ý định - Thêm để gửi SMS

Khóa học lập trình Android có hỗ trợ tích hợp để thêm số điện thoại và tin nhắn văn bản để gửi SMS như sau

smsIntent.putExtra("address"  , new String("0123456789;3393993300"));
smsIntent.putExtra("sms_body"  , "Test SMS to Angilla");

Ở đây địa chỉ và sms_body phân biệt chữ hoa chữ thường và chỉ được chỉ định bằng các ký tự nhỏ. Bạn có thể chỉ định nhiều hơn một số trong một chuỗi nhưng được phân tách bằng dấu chấm phẩy (;).

Ví dụ sau đây cho bạn thấy thực tế cách sử dụng đối tượng Intent để khởi chạy ứng dụng khách SMS để gửi SMS đến người nhận đã cho.

Để thử nghiệm với ví dụ này, bạn sẽ cần thiết bị di động thực tế được trang bị HĐH Khóa học lập trình Android mới nhất, nếu không, bạn sẽ phải vật lộn với trình giả lập có thể không hoạt động.

Bậc thangSự miêu tả
1Bạn sẽ sử dụng IDE studio Android để tạo một ứng dụng Android và đặt tên là hướng dẫn dưới dạng gói com.example.tutorialspoint .
2Sửa đổi tệp src / MainActivity.java và thêm mã yêu cầu để chăm sóc gửi SMS.
3Sửa đổi bố cục tệp XML res / layout / Activity_main.xml thêm bất kỳ thành phần GUI nào nếu cần. Tôi đang thêm một nút đơn giản để khởi chạy SMS Client.
4Không cần xác định các hằng số mặc định.Android studio sẽ chăm sóc các hằng số mặc định.
5Sửa đổi AndroidManifest.xml như hiển thị bên dưới
6Chạy ứng dụng để khởi chạy trình giả lập Android và xác minh kết quả của những thay đổi được thực hiện trong ứng dụng.
Sau đây là nội dung của tệp hoạt động chính được sửa đổi src / com.example.tutorialspoint / MainActivity.java .

Sau đây sẽ là nội dung của tệp res / layout / Activity_main.xml

Ở đây abc chỉ ra về logo hướng dẫnSau đây sẽ là nội dung của res / value / chuỗi.xml để xác định hai hằng số mới -
<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">tutorialspoint</string>
</resources>
Sau đây là nội dung mặc định của AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.tutorialspoint" >
      
   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name="com.example.tutorialspoint.MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
   </application>
</manifest>
Hãy thử chạy ứng dụng hướng dẫn của bạn . Tôi giả sử bạn đã kết nối thiết bị Android Mobile thực tế của mình với máy tính.

Để chạy ứng dụng từ studio Khóa học lập trình Android , hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Chạy từ thanh công cụ.

Trước khi bắt đầu ứng dụng của bạn, studio Android sẽ hiển thị cửa sổ sau để chọn tùy chọn nơi bạn muốn chạy ứng dụng Android của mình.

Chọn thiết bị di động của bạn làm tùy chọn và sau đó kiểm tra thiết bị di động của bạn sẽ hiển thị màn hình sau

Bây giờ sử dụng nút Soạn SMS để khởi chạy ứng dụng khách SMS tích hợp Khóa học lập trình Android được hiển thị bên dưới

Bạn có thể sửa đổi một trong các trường mặc định đã cho và cuối cùng sử dụng nút gửi SMS để gửi SMS của bạn đến người nhận được đề cập.

Không có nhận xét nào:

Đăng nhận xét

Lập trình Android - RenderScript

Trong chương này, chúng ta sẽ tìm hiểu về Android RenderScript. Thông thường các ứng dụng trên Android được thiết kế để tiêu thụ tài nguyên ...