2016-03-22 15 views
0

私は7inch samsung Tab 4を持っています。インターネット専用の携帯電話ネットワークはありますが、電話機能はありません。電話機能があるかどうかを確認するためのアプリケーションを作成しました。データサービスのみを持ち、電話サービスを持たないタブを除き、すべてのタブ/電話機がこの条件で正しく機能します。私はこれをチェックするにはどうすればよい携帯電話の有無を確認してください

:機能が電話でない場合は、この問題を修正する方法

PackageManager pm = this.getPackageManager(); 
if (pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) 
{ 
    //PHONE DEVICE 
} 
else 
{ 
    //TAB Device 
} 

。お知らせ下さい!

ありがとうございます!

答えて

1

以下のコードを試してみてください。

if (((TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE)).getPhoneType() 
      == TelephonyManager.PHONE_TYPE_NONE || ((TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE)).getLine1Number() 
      == null) { 
     // No Phone 
     // Do as per your need 
    } else { 
     PackageManager pm = this.getPackageManager(); 
     if (pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) { 
      //PHONE DEVICE 
     } else { 
      //TAB Device 
     } 
    } 

これにはREAD_PHONE_STATE権限が必要です。

0

デバイスが電話機かどうかを確認するには、音声対応である必要があります。 TelephonyManagerには、明示的にこの値を取得するメソッドisVoiceCapable()があります。

TelephonyManagerが音声対応でない場合は、電話機ではありませんが、データに対応している可能性があります。詳細はhereを参照してください。

関連する問題