• 检测安卓手机联网方式


    通信渠道

    •WLAN(wi-fi)
    •手机APN(接入点)
    •基站
    •Wap方式(地域性、增值业务——IP是10.0.0.172 端口是80 )  当连上网时可以设置这种 具体看代码
    •Net方式

    实现方式:

    •使用HttpClient
    •使用HttpURLConnection
    •使用Socket通信(豌豆荚(USB、WIFI、蓝牙)、聊天工具)

    特别注意:

    1、连网时网络类型的判断,当为手机上网时注意代理信息获取。

    2、当使用手机上网时我们的联网代码的编写。

     1 package cn.itcasta.lottery0713.util;
     2 
     3 import android.content.ContentResolver;
     4 import android.content.Context;
     5 import android.database.Cursor;
     6 import android.net.ConnectivityManager;
     7 import android.net.NetworkInfo;
     8 import android.net.Uri;
     9 import cn.itcasta.lottery0713.GloableParams;
    10 
    11 /**
    12  * 判断当前手机联网的渠道
    13  * @author Administrator
    14  *
    15  */
    16 public class NetUtil {
    17     /**
    18      * 检查当前手机网络
    19      * @param context
    20      * @return
    21      */
    22     public static boolean checkNet(Context context)
    23     {
    24         //判断连接方式
    25         boolean wifiConnected = isWIFIConnected(context);
    26         boolean mobileConnected = isMOBILEConnected(context);
    27         if(wifiConnected==false&&mobileConnected==false){
    28         //如果都没有连接返回false,提示用户当前没有网络
    29             return false;
    30         }
    31         if(mobileConnected==true)
    32         {
    33             //判断到当前是mobile连接,设置apn
    34             setApnParame(context);
    35         }
    36         return true;
    37     }
    38     
    39     
    40     //判断手机使用是wifi还是mobile
    41     /**
    42      * 判断手机是否采用wifi连接
    43      */
    44     public static boolean isWIFIConnected(Context context)
    45     {
    46         //Context.CONNECTIVITY_SERVICE). 
    47 
    48         ConnectivityManager manager=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    49         NetworkInfo networkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    50         if(networkInfo!=null&&networkInfo.isConnected())
    51         {
    52             return true;
    53         }
    54         return false;
    55     }
    56     
    57     public static boolean isMOBILEConnected(Context context)
    58     {
    59         ConnectivityManager manager=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    60         NetworkInfo networkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
    61         if(networkInfo!=null&&networkInfo.isConnected())
    62         {
    63             return true;
    64         }
    65         return false;
    66     }
    67     /**
    68      * 设置当前apn信息,保存到应用的全局的变量里面
    69      * @param context
    70      */
    71     public static void setApnParame(Context context)
    72     {
    73         //Uri PREFERRED_APN_URI = Uri.parse("content://telephony/carriers/preferapn");
    74 
    75         Uri uri=Uri.parse("content://telephony/carriers/preferapn"); 
    76         
    77         ContentResolver contentResolver = context.getContentResolver();
    78         Cursor query = contentResolver.query(uri, null, null, null, null);
    79         if(query!=null&&query.getCount()==1)
    80         {
    81             if(query.moveToFirst())
    82             {
    83                 GloableParams.PROXY_IP=query.getString(query.getColumnIndex("proxy"));
    84                 GloableParams.PROXY_PORT=query.getInt(query.getColumnIndex("port"));
    85             }
    86         }
    87         query.close();
    88     }
    89 }
  • 相关阅读:
    beaglebone black教程1-ssh登录和新建一个账户
    入职南大富士通一周感想
    stm32的内存分配以及text、bss、data段的意思
    初识modbus
    使用github上面别人的pyqt4+pyserial代码的时遇到的问题
    在MDK V5.12.0环境下建立2440的裸机开发环境
    Eclipse 插件
    Using Notepad++ To Quickly Format XML
    批处理检测外部命令是否存在的模块
    springside4
  • 原文地址:https://www.cnblogs.com/friends-wf/p/4750751.html
Copyright © 2020-2023  润新知