• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

[Basic4Android] Bài 9 - Quản lý lịch sử cuộc gọi

Lập trình cho Android Phone

Điều hành viên: tummosoft

Hình đại diện của người dùng
tummosoft
Điều hành viên
Điều hành viên
Bài viết: 331
Ngày tham gia: T.Hai 19/05/2014 2:23 pm
Has thanked: 7 time
Been thanked: 57 time
Liên hệ:

[Basic4Android] Bài 9 - Quản lý lịch sử cuộc gọi

Gửi bàigửi bởi tummosoft » T.Sáu 25/07/2014 8:25 am

Lớp thư viện Phone chứa nhiều thành phần con, tất cả đều liên quan đến chức năng điện thoại trong Android.

- Phone : Thành phần chứa các thuộc tính, hàm cơ bản về điện thoại.

- PhoneAccelerometer và PhoneOrientation : Hỗ trợ cảm biến

- PhoneEvents : Xử lý các sự kiện liên quan đến thoại trên hệ thống.

- PhoneId : Xác định một số thông tin chung về điện thoại

- PhoneSms : Xử lý gửi tin nhắn SMS

- PhoneVibrate : Xử lý chức năng rung trong điện thoại

- SmsMessages : Quản lý dữ liệu tin nhắn

- SmsInterceptor : An toàn cho tin nhắn, lọc tin nhắn...

- PhoneIntents và phonecalls : Hỗ trợ chức năng Multmedia

- Email : Làm việc với email

- PhoneWakeState : Xử lý trạng thái chờ

- Contact và Contacts : Quản lý danh bạ

- CallLog và CallItem : Lịch sử cuộc gọi

- ContentChooser : Tùy chọn các nội dung cài đặt ứng dụng

- VoiceRecognition : Chuyển đổi giọng nói thành văn bản.

- Logcat : Đọc các tệp thông tin log trong điện thoại.

- PackageManager : Các thông tin về các gói ứng dụng được cài đặt

Hình ảnh


:) Tummo Software :D
http://tummosoft.com

Hình đại diện của người dùng
tummosoft
Điều hành viên
Điều hành viên
Bài viết: 331
Ngày tham gia: T.Hai 19/05/2014 2:23 pm
Has thanked: 7 time
Been thanked: 57 time
Liên hệ:

Re: [Basic4Android] Bài 9 - Quản lý lịch sử cuộc gọi

Gửi bàigửi bởi tummosoft » T.Sáu 25/07/2014 8:52 am

Quản lý cuộc gọi với CallLog

Với thành phần CallLog, Basic4Android giúp ta quản lý các cuộc gọi được lưu trữ trong bộ nhớ điện thoại gồm: Cuộc gọi đến, cuộc gọi đi, cuộc gọi nhỡ

Ex: Ta xem xét ví dụ truy cập 10 cuộc gọi gần nhất trong danh sách CallLog

1- Gọi CallLog

Dim CallLog As CallLog

2- Lấy 10 sự kiện cuộc gọi gần nhất

Calls = CallLog.GetAll(10) 'Get the last 10 calls

3- Khai báo biến CallItem để lấy kiểu cuộc gọi, thông tin về cuộc gọi

Dim c As CallItem

CallItem.CallType bao gồm 3 kiểu cuộc gọi được định nghĩa

TYPE_INCOMING : Cuộc gọi đến
TYPE_MISSED : Cuộc gọi lỡ
TYPE_OUTGOING : Cuộc gọi đi


4- Lấy thông tin cuộc gọi

CallItem.Number : Trả về số cuộc gọi
CallItem.Date : Trả về thời gian thông tin cuộc gọi

5- Cuối cùng là code mẫu:

  1. #Region  Project Attributes
  2.     #ApplicationLabel: B4A Example
  3.     #VersionCode: 1
  4.     #VersionName:
  5.     'SupportedOrientations possible values: unspecified, landscape or portrait.
  6.     #SupportedOrientations: unspecified
  7.     #CanInstallToExternalStorage: False
  8. #End Region
  9.  
  10. #Region  Activity Attributes
  11.     #FullScreen: False
  12.     #IncludeTitle: True
  13. #End Region
  14.  
  15. Sub Process_Globals
  16.     'These global variables will be declared once when the application starts.
  17.     'These variables can be accessed from all modules.
  18.  
  19. End Sub
  20.  
  21. Sub Globals
  22.     'These global variables will be redeclared each time the activity is created.
  23.     'These variables can only be accessed from this module.
  24.  
  25.     Dim Label1 As Label
  26.     Dim ListView1 As ListView  
  27. End Sub
  28.  
  29. Sub Activity_Create(FirstTime As Boolean)
  30.     'Do not forget to load the layout file created with the visual designer. For example:
  31.     Activity.LoadLayout("main")
  32.    
  33.     Dim Calls As List
  34.     Dim CallLog As CallLog
  35.     Dim result As String
  36.     Dim Label1 As Label
  37.    
  38.     Calls = CallLog.GetAll(10) 'Get the last 10 calls
  39.     For i = 0 To Calls.Size - 1
  40.         Dim c As CallItem
  41.         c = Calls.Get(i)
  42.         Dim callType, name As String
  43.         Select c.CallType
  44.             Case c.TYPE_INCOMING
  45.                 callType="Cuộc gọi đến"
  46.             Case c.TYPE_MISSED
  47.                 callType = "Cuộc gọi lỡ"
  48.             Case c.TYPE_OUTGOING
  49.                 callType = "Cuộc gọi đi"
  50.         End Select
  51.         name = c.CachedName
  52.         If name = "" Then name = "N/A"
  53.             Log("Number=" & c.Number & ", Name=" & name _
  54.         & ", Type=" & callType & ", Date=" & DateTime.Date(c.Date))
  55.        
  56.         result = c.Number & " | " & DateTime.Time(c.Date) & " | " & DateTime.Date(c.Date) & " | " & name
  57.        
  58.         ListView1.AddTwoLines(callType, result)
  59.         Label1= ListView1.TwoLinesLayout.SecondLabel
  60.         Label1.TextSize=14
  61.        
  62.     Next
  63. End Sub
  64.  
  65. Sub Activity_Resume
  66.  
  67. End Sub
  68.  
  69. Sub Activity_Pause (UserClosed As Boolean)
  70.  
  71. End Sub


Hình ảnh
:) Tummo Software :D
http://tummosoft.com

Hình đại diện của người dùng
tummosoft
Điều hành viên
Điều hành viên
Bài viết: 331
Ngày tham gia: T.Hai 19/05/2014 2:23 pm
Has thanked: 7 time
Been thanked: 57 time
Liên hệ:

Re: [Basic4Android] Bài 9 - Quản lý lịch sử cuộc gọi

Gửi bàigửi bởi tummosoft » T.Sáu 25/07/2014 8:57 am

Các thành phần của CallLog

* GetAll (Limit As Int) As List : Trả về số lượng danh sách cuộc gọi trong một biến kiểu List;

* GetById (Id As Int) As CallItem : Trả về ID kiểu cuộc gọi CallItem;

* GetSince (Date As Long, Limit As Int) As List : Trả về giá trị CallItem với ngày tháng lớn hơn giá trị quy định;
:) Tummo Software :D
http://tummosoft.com

Hình đại diện của người dùng
tummosoft
Điều hành viên
Điều hành viên
Bài viết: 331
Ngày tham gia: T.Hai 19/05/2014 2:23 pm
Has thanked: 7 time
Been thanked: 57 time
Liên hệ:

Re: [Basic4Android] Bài 9 - Quản lý lịch sử cuộc gọi

Gửi bàigửi bởi tummosoft » T.Sáu 25/07/2014 9:03 am

Các thành phần của CallItem

* CachedName As String

Trả về tên lưu trữ tất tại thời điểm mà cuộc gọi được thực hiện;
Trả về một chuỗi rỗng nếu không có tên được chỉ định.

* CallType As Int : Xác định một kiểu cuộc gọi được quy định, gồm:

TYPE_INCOMING As Int
TYPE_MISSED As Int
TYPE_OUTGOING As Int

* Date As Long : Trả về thời gian của sự kiện cuộc gọi;

* Duration As Long : Thời gian gọi, tính bằng giây;

* Id As Int : ID cuộc gọi;

* Number As String : Trả về số điện thoại có liên quan;
:) Tummo Software :D
http://tummosoft.com


Quay về “Android”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách