안드로이드 개발 질문/답변
(글 수 45,052)
인터넷 기능이 있어야되는 앱인데요
wifi가 가능한지?
wifi가 안되면 3g라도 가능한지?
이런 기능을 초기에 체크하고싶은데요.
이런 function있으시면....부탁드립니다.
2010.12.08 11:25:30
NetworkConnectivityReceiver ncReceiver = new NetworkConnectivityReceiver(getApplicationContext());
registerReceiver(ncReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
public class NetworkConnectivityReceiver extends BroadcastReceiver
{
public NetworkConnectivityReceiver(Context context)
{
super();
}
@Override
public void onReceive(Context context, Intent intent)
{
Bundle b = intent.getExtras();
NetworkInfo info = b.getParcelable(ConnectivityManager.EXTRA_NETWORK_INFO);
Boolean connected = info.isConnected();
int netType = info.getType();
if (netType == ConnectivityManager.TYPE_WIFI)
{
}
else if (netType == ConnectivityManager.TYPE_MOBILE)
{
}
}
}
2010.12.08 11:34:59
public static int availableCommunication(Context context){
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
boolean isWifiAvail = ni.isAvailable();
boolean isWifiConn = ni.isConnected();
ni = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
boolean isMobileAvail = ni.isAvailable();
boolean isMobileConn = ni.isConnected();
String status = "WiFi\nAvail = " + isWifiAvail + "\nConn = "
+ isWifiConn + "\nMobile\nAvail = " + isMobileAvail
+ "\nConn = " + isMobileConn + "\n";
Log.d("Communication State! ",status);
if(isWifiAvail == true && isWifiConn == true){
return ConnectivityManager.TYPE_WIFI;
}else if(isMobileAvail == true && isMobileConn == true){
return ConnectivityManager.TYPE_MOBILE;
}else{
return -1;
}
}