2011-08-05 14 views
0

私が現在取り組んでいるアプリケーションはモバイルネットワークに依存していますので 私の質問は、デバイス(例:3 UK、T-Mobile)で使用されている現在のモバイルネットワークを取得できますか?デバイスのネットワーク情報を取得する方法は? (Android)

また、ユーザーの携帯電話番号を取得していますか?任意の助け

おかげで(:

+0

答えは多かれ少なかれ正しいですが、携帯電話が必ずしも自分の電話番号を知っているとは限りません。 – jarnbjo

答えて

1

あなたが探しているすべてはTelephonyManager使用例である:。

final TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); 
final String phoneNumber = tm.getLine1Number(); 
+0

ありがとう(: – 92Jacko

10

電話番号:

 final TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE); 
     final String phoneNumber = tm.getLine1Number(); 

ネットワークタイプ:

 // Check each connection type 
     boolean connectionAvailable = false; 
     ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); 

     /** 
     * WIFI 
     */ 

     /** Check the connection **/ 
     NetworkInfo network = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 

     // Make sure the network is available 
     if(network != null && network.isAvailable() && network.isConnectedOrConnecting()) { 
      connectionAvailable = true; 
     } 

     /** 
     * 2G/3G 
     */    
     /** Check the connection **/ 
     network = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 

     // Show the right icon 
     if(network != null && 
       (network.getSubtype() == TelephonyManager.NETWORK_TYPE_GPRS || 
       network.getSubtype() == TelephonyManager.NETWORK_TYPE_EDGE)) { 
      // 2G 
     } 
     else { 
      // 3G 
     } 

     // Make sure the network is available 
     if(network.isAvailable() && network.isConnectedOrConnecting()) { 
      connectionAvailable = true; 
     } 

     /** 
     * 4G 
     */ 

     /** Check the connection **/ 
     network = cm.getNetworkInfo(ConnectivityManager.TYPE_WIMAX); 

     // Make sure the network is available 
     if(network != null && network.isAvailable() && network.isConnectedOrConnecting()) { 
      connectionAvailable = true; 
     } 
+0

良い使用例(: – 92Jacko

0
if (this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) { 
    TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
    String msisdn = telephonyManager.getLine1Number(); 
    String carrier = telephonyManager.getNetworkOperatorName(); 
} 
+0

)のおかげでgetNetworkOperatorName()の部分が得られました。 – devprashant

関連する問題