2016-03-31 8 views
3

私はアプリで働いています。プログラムで電話番号を取得する必要があります。 私はこれに従いますlinkアンドロイドアプリを実行している端末の電話番号をプログラムで取得するにはどうすればよいですか?

しかし、私は1つのデバイスで電話番号を取得、何度も私は取得していません。完璧なソリューションを持っています。

+0

これはできません。 –

+0

私のリンクは正しい解決策ですか? @ ZahidulIslam – Suman

+2

これは解決策ですが、完璧ではありません。アンドロイド携帯から携帯電話番号を取得することはできません。電話のほとんどは、あなたが携帯電話の番号を取得することはできません。 –

答えて

0

あなたはこれを試すことができますが、すべてのデバイスについてはわかりません。 一部のデバイスでのみ動作します。

public static String getPhoneNumber(Context context) { 
    String s1=""; 
    String main_data[] = {"data1", "is_primary", "data3", "data2", "data1", 
      "is_primary", "photo_uri", "mimetype"}; 
    Object object = context.getContentResolver(). 
      query(Uri.withAppendedPath(android.provider.ContactsContract.Profile.CONTENT_URI, "data"), 
        main_data, "mimetype=?", 
        new String[]{"vnd.android.cursor.item/phone_v2"}, 
        "is_primary DESC"); 

    if (object != null) { 
     do { 
      if (!((Cursor) (object)).moveToNext()) 
       break; 
      // This is the phoneNumber 
      s1 =((Cursor) (object)).getString(4); 
     } while (true); 
     ((Cursor) (object)).close(); 
    } 
    return s1; 
} 
関連する問題