2012-06-14 31 views
5

Trong ứng dụng của tôi có chức năng gọi điện. Khi nhấp vào nút "Gọi", ứng dụng sẽ khởi chạy trình quay số điện thoại có số điện thoại.Android Cách kiểm tra chức năng gọi hỗ trợ thiết bị/máy tính bảng

Bây giờ nếu có của thiết bị/tablet không có chức năng gọi điện thoại, trong trường hợp đó tôi muốn kiểm tra

if(isSupportCalling) 
     //launch dialer 
else 
    //show message 

inorder này để tránh bất kỳ ứng dụng sụp đổ.

Vì quyền này sẽ chỉ cho phép chơi android để hiển thị và có thể tải xuống/cài đặt ứng dụng trên thiết bị/máy tính bảng không hỗ trợ chức năng gọi điện.

<uses-feature 
     android:name="android.hardware.telephony" 
     android:required="false"/> 

Vì tôi đã thấy rất ít chủ đề về SO liên quan đến điều này, nhưng không tìm được cách đáng tin cậy cho điều này.

Trả lời

8

Bằng cách sử dụng lớp TelephonyManager, bạn có thể biết tính khả dụng của mạng điện thoại cũng như bạn có thể kiểm tra trạng thái mạng điện thoại liên quan khác nhau.

TelephonyManager tm= (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
     if(tm.getPhoneType()==TelephonyManager.PHONE_TYPE_NONE){ 
     //No calling functionality 
     } 
     else 
     { 
     //calling functionality 
     } 

Hope this helps

+0

cảm ơn điều này giúp tôi .. – shujatAli

2

Vậy đó:

Bạn nên làm như sau:

private boolean canMakeCalls(){ 
    return ((TelephonyManager)getActivity().getSystemService(Context.TELEPHONY_SERVICE)).getLine1Number() 
    != null; 
} 

và chỉ cần gọi hàm bất cứ khi nào bạn muốn:

if (canMakeCalls()){} 

Hy vọng thứ tại giúp

Các vấn đề liên quan