프로그래밍 방식으로 (Android 용) 4G 네트워크를 검색하고 결과를 얻는 방법?4G 네트워크 검색
더 명확하게하기 : 버튼을 클릭하면 사용 가능한 모든 4G 네트워크를 검색하고 목록에 결과를 표시합니다.
편집 :
나는이 같은 코드 무언가에 의해 결과가 필요합니다 This is while you search for network on your mobile
프로그래밍 방식으로 (Android 용) 4G 네트워크를 검색하고 결과를 얻는 방법?4G 네트워크 검색
더 명확하게하기 : 버튼을 클릭하면 사용 가능한 모든 4G 네트워크를 검색하고 목록에 결과를 표시합니다.
편집 :
나는이 같은 코드 무언가에 의해 결과가 필요합니다 This is while you search for network on your mobile
여기를 보라 ->이 How to determine if network type is 2G, 3G or 4G
getNetworkType()
당신에게 반환을 현재 데이터 연결에 대한 NETWORK_TYPE_xxxx
, 필자는이 방법을 내 작업에 대한 응답 중에서 선택하고 whateve R 이러한 스위치의 경우 중 필터링 할 네트워크 유형은
당신은 당신의 유틸리티 클래스에서 직접이 다음과 같은 방법을 넣을 수 있습니다 :
public String getNetworkClass(Context context) {
TelephonyManager mTelephonyManager = (TelephonyManager)
context.getSystemService(Context.TELEPHONY_SERVICE);
int networkType = mTelephonyManager.getNetworkType();
switch (networkType) {
case TelephonyManager.NETWORK_TYPE_GPRS:
case TelephonyManager.NETWORK_TYPE_EDGE:
case TelephonyManager.NETWORK_TYPE_CDMA:
case TelephonyManager.NETWORK_TYPE_1xRTT:
case TelephonyManager.NETWORK_TYPE_IDEN:
return "2G";
case TelephonyManager.NETWORK_TYPE_UMTS:
case TelephonyManager.NETWORK_TYPE_EVDO_0:
case TelephonyManager.NETWORK_TYPE_EVDO_A:
case TelephonyManager.NETWORK_TYPE_HSDPA:
case TelephonyManager.NETWORK_TYPE_HSUPA:
case TelephonyManager.NETWORK_TYPE_HSPA:
case TelephonyManager.NETWORK_TYPE_EVDO_B:
case TelephonyManager.NETWORK_TYPE_EHRPD:
case TelephonyManager.NETWORK_TYPE_HSPAP:
return "3G";
case TelephonyManager.NETWORK_TYPE_LTE:
return "4G";
default:
return "Unknown";
}
}
이 깨끗한 & 명확한 문서를 읽기 ->https://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkType()
편집
당신이 만약 당신은 와이파이 스캔 결과를 수신하는 BroadcastReceiver
를 작성해야 스캔 을하고 싶지 : 및 스캔이 mWifiManager
을 할당합니다 onCreate()
에서 NETWORK_TYPE_LTE
private final BroadcastReceiver mWifiScanReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context c, Intent intent) {
if (intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
List<ScanResult> mScanResults = mWifiManager.getScanResults();
// add your logic here to filter
}
}
}
으로 필터링하고 시작 :
mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
registerReceiver(mWifiScanReceiver,
new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
mWifiManager.startScan();
public String getNetworkClass(Context context) {
TelephonyManager mTelephonyManager = (TelephonyManager)
context.getSystemService(Context.TELEPHONY_SERVICE);
int networkType = mTelephonyManager.getNetworkType();
switch (networkType) {
case TelephonyManager.NETWORK_TYPE_GPRS:
case TelephonyManager.NETWORK_TYPE_EDGE:
case TelephonyManager.NETWORK_TYPE_CDMA:
case TelephonyManager.NETWORK_TYPE_1xRTT:
case TelephonyManager.NETWORK_TYPE_IDEN:
return "2G";
case TelephonyManager.NETWORK_TYPE_UMTS:
case TelephonyManager.NETWORK_TYPE_EVDO_0:
case TelephonyManager.NETWORK_TYPE_EVDO_A:
case TelephonyManager.NETWORK_TYPE_HSDPA:
case TelephonyManager.NETWORK_TYPE_HSUPA:
case TelephonyManager.NETWORK_TYPE_HSPA:
case TelephonyManager.NETWORK_TYPE_EVDO_B:
case TelephonyManager.NETWORK_TYPE_EHRPD:
case TelephonyManager.NETWORK_TYPE_HSPAP:
return "3G";
case TelephonyManager.NETWORK_TYPE_LTE:
return "4G";
default:
return "Unknown";
}
}
Also, I would first check if connected network is WiFi or Mobile.
public static boolean getActiveNetworkType(Context context) {
boolean is_wfi_conected = false;
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (activeNetwork != null && activeNetwork.isConnected() && activeNetwork.isAvailable()) { // connected to the internet
if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) {
// connected to Wifi
//GET IP Address of connected WIFI
// WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
is_wfi_conected = true;
} else if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) {
is_wfi_conected = false;
}
} else {
// not connected to the internet
}
return is_wfi_conected;
}
을 답장을 보내 주셔서 감사합니다. 그러나 이것은 내 검색어가 아니며, 요점은 ** 기기가 연결되지 않았으며 ** 기기가 어떤 4G 네트워크를 지원하는지 확인하고 싶습니다. –
앱이 필요하십니까? 거기에 장치 사양에 –
답장을 보내 주셔서 감사합니다. 그러나 귀하의 응답은 4G LTE가 아닌 Wifi를 검색하기위한 것입니다! –