[android] 網路鏈接類型和渠道

来源:http://www.cnblogs.com/taoshihan/archive/2016/06/25/5616147.html
-Advertisement-
Play Games

1.實現方式 1.1使用HttpUrlConnection 1.2使用HttpClient 1.3使用Socket,比如:豌豆莢,聊天工具 2.通訊渠道 2.1 WLAN(wi-fi),100米左右的數據傳輸 2.2 手機APN接入點(基站) 2.2.1 wap的方式,中國特色,首先會連接電信運營商 ...


1.實現方式

1.1使用HttpUrlConnection

1.2使用HttpClient

1.3使用Socket,比如:豌豆莢,聊天工具

 

2.通訊渠道

2.1 WLAN(wi-fi)100米左右的數據傳輸

2.2 手機APN接入點(基站)

2.2.1 wap的方式,中國特色,首先會連接電信運營商代理攔截10.0.0.172HttpUrlConnection會不穩定

2.2.2 net的方式

 

3.通訊工具

3.1判斷網路類型

根據Context上下文,判斷是wifi還是APN,然後再判斷APN的接入方式,有代理信息的是wap沒有的是net

package com.tsh.lottery.net;

import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;

public class NetUtils {
    /**
     * 獲取網路狀態
     * @param context
     * @return
     */
    public static String getNetworkInfo(Context context) {
        ConnectivityManager cm=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        //判斷wifi
        NetworkInfo networkInfo=cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
        if(networkInfo!=null && networkInfo.isConnected()){
            return "wifi";
        }
        //判斷APN
        NetworkInfo mobileInfo=cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
        if(mobileInfo!=null && mobileInfo.isConnected()){
            //獲取APN接入方式,因為許可權問題,沒有成功
//            ContentResolver resolver=context.getContentResolver();
//            Cursor cursor=resolver.query(Uri.parse("content://telephony/carriers"), null, null, null, null);
//            if(cursor!=null && cursor.moveToFirst()){
//                String proxy=cursor.getString(cursor.getColumnIndex("proxy"));
//                System.out.println(proxy);
//            }
            return "mobile";
        }
        return "no";
    }
}

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這個項目是本人原創:要轉載,請說明下:http://www.cnblogs.com/blogwithstudyofwyn/p/5618107.html 項目的地址:https://github.com/Shangshanroushui/ShoppingCart.git 該程式是個一元奪寶的的購物車。 ...
  • ...
  • 一.什麼是Service Service是一個應用程式組件,它是安卓實現程式後臺運行的一個解決方案。 二.分類 服務有兩種類別started、bound.但是一個服務類所要繼承的類是一樣的,都是Service類。也就是說,一個服務,可以包含上面兩種運行方式的服務,只是與它重載的方法有關,如果重寫了o ...
  • 我以自己項目中的一個模塊為例,首先有兩個頁面,第一個頁面為顯示城市頁面,第二個頁面為選擇要使用block傳的值(城市名)。 第一個頁面中的顯示控制項: //自定義左部定位視圖 self.locView = [[LocationView alloc] initWithFrame:CGRectMake(0 ...
  • 滾動視圖:在根視圖中添加UIScrollViewDelegate協議,聲明一些對象屬性 在程式中導入圖片,在.m文件中的代碼實現: 推薦:http://www.cnblogs.com/roucheng/p/3528371.html ...
  • 1.手機助手 1.1 USB鏈接 可以讀取手機的PID和VID,確定唯一的設備,可以給手機安裝對應的驅動等 socket在固定埠通信 1.2 WIFI鏈接 pc在電腦在整個網段發送UDP數據包,手機連接wifi後可以監聽這個埠,收到數據包,試圖與pc機建立連接 1.3 藍牙 通過Bluetoot ...
  • 首先介紹一下BroadCastRecieve有幾種: 1.無序廣播(普通廣播):sendBroadcast()方式 2.有序廣播:sendOrderedBroadcast()方式 3.粘性廣播:sendStickyBroadcast()方式 生命周期比較簡單: 下麵是無序廣播與有序廣播的區別: 下麵 ...
  • 工具:顯示快捷鍵幫助:Ctrl+Shift+LQuick access:Ctrl+3自定義ShortKeys:Window > preference > 搜索框中輸入“keys” 或者 Ctrl+3 輸入“keys” 尤其是Quick access(Ctrl+3)這個工具非常實用,可以找到任何一個菜 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...