我正在尝试找到来电的网络和SIM运营商,但我无法找到,我的代码只找到了我的设备的网络和SIM运营商。
这是我的代码:
if (TelephonyManager.EXTRA_STATE_RINGING.equals(state)) {
String phoneNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
name = phoneNumber;
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
String networkOperator = telephonyManager.getNetworkOperatorName();
String simOperator = telephonyManager.getSimOperatorName();
Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
Cursor cursor = context.getContentResolver().query(uri, new String[]{PhoneLookup.DISPLAY_NAME},null,null,null);
if (cursor.moveToFirst())
{
name = cursor.getString(cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME));
}
欢迎任何帮助。
答案 0 :(得分:0)
你无法获得运营商,因为android没有为此提供API:
理论上,您可以获取该数字的前缀并将其与所有提供商的列表进行比较,但是将您的号码带到具有旧前缀的不同提供商的能力几乎会破坏该选项。