unit Androidapi.JNI.Network;interfacefunction IsConnected: Boolean;function IsWiFiConnected: Boolean;function IsMobileConnected: Boolean;implementationuses  System.SysUtils,  Androidapi.JNIBridge,  Androidapi.JNI.GraphicsContentViewText,  Androidapi.JNI.JavaTypes,  FMX.Helpers.Android;type  JConnectivityManager = interface;  JNetworkInfo = interface;  JNetworkInfoClass = interface(JObjectClass)  ['{E92E86E8-0BDE-4D5F-B44E-3148BD63A14C}']  end;  [JavaSignature('android/net/NetworkInfo')]  JNetworkInfo = interface(JObject)  ['{6DF61A40-8D17-4E51-8EF2-32CDC81AC372}']    {Methods}    function isAvailable: Boolean; cdecl;    function isConnected: Boolean; cdecl;    function isConnectedOrConnecting: Boolean; cdecl;  end;  TJNetworkInfo = class(TJavaGenericImport<JNetworkInfoClass, JNetworkInfo>) end;  JConnectivityManagerClass = interface(JObjectClass)  ['{E03A261F-59A4-4236-8CDF-0068FC6C5FA1}']    {Property methods}    function _GetTYPE_WIFI: Integer; cdecl;    function _GetTYPE_WIMAX: Integer; cdecl;    function _GetTYPE_MOBILE: Integer; cdecl;    {Properties}    property TYPE_WIFI: Integer read _GetTYPE_WIFI;    property TYPE_WIMAX: Integer read _GetTYPE_WIMAX;    property TYPE_MOBILE: Integer read _GetTYPE_MOBILE;  end;  [JavaSignature('android/net/ConnectivityManager')]  JConnectivityManager = interface(JObject)  ['{1C4C1873-65AE-4722-8EEF-36BBF423C9C5}']    {Methods}    function getActiveNetworkInfo: JNetworkInfo; cdecl;    function getNetworkInfo(networkType: Integer): JNetworkInfo; cdecl;  end;  TJConnectivityManager = class(TJavaGenericImport<JConnectivityManagerClass, JConnectivityManager>) end;function GetConnectivityManager: JConnectivityManager;var  ConnectivityServiceNative: JObject;begin  ConnectivityServiceNative := SharedActivityContext.getSystemService(TJContext.JavaClass.CONNECTIVITY_SERVICE);  if not Assigned(ConnectivityServiceNative) then    raise Exception.Create('Could not locate Connectivity Service');  Result := TJConnectivityManager.Wrap(    (ConnectivityServiceNative as ILocalObject).GetObjectID);  if not Assigned(Result) then    raise Exception.Create('Could not access Connectivity Manager');end;function IsConnected: Boolean;var  ConnectivityManager: JConnectivityManager;  ActiveNetwork: JNetworkInfo;begin  ConnectivityManager := GetConnectivityManager;  ActiveNetwork := ConnectivityManager.getActiveNetworkInfo;  Result := Assigned(ActiveNetwork) and ActiveNetwork.isConnected;end;function IsWiFiConnected: Boolean;var  ConnectivityManager: JConnectivityManager;  WiFiNetwork: JNetworkInfo;begin  ConnectivityManager := GetConnectivityManager;  WiFiNetwork := ConnectivityManager.getNetworkInfo(TJConnectivityManager.JavaClass.TYPE_WIFI);  Result := WiFiNetwork.isConnected;end;function IsMobileConnected: Boolean;var  ConnectivityManager: JConnectivityManager;  MobileNetwork: JNetworkInfo;begin  ConnectivityManager := GetConnectivityManager;  MobileNetwork := ConnectivityManager.getNetworkInfo(TJConnectivityManager.JavaClass.TYPE_MOBILE);  Result := MobileNetwork.isConnected;end;end.
直接上代码


记得要在project的option里的permission里面给权限

if  IsConnected  then ShowMessage('IsConnected'); if IsWiFiConnected then ShowMessage('IsWiFiConnected'); if IsMobileConnected then  ShowMessage('IsMobileConnected');
调用代码

更多相关文章

  1. Android隐藏软件盘
  2. Android中Activity的Intent大全
  3. android webview 7.0 h5调用打电话解决方案
  4. Android(安卓)使用Camera2 调用摄像头显示预览与拍照
  5. Android(安卓)复用自制的控件(2)
  6. 获取Android系统程序信息
  7. android palette
  8. Android如何从服务器获取图片
  9. android WebView结合javascript相互调用

随机推荐

  1. Android(安卓)Studio 编译不通过,报错“找
  2. Android(安卓)开启闪光灯做手电筒 源码
  3. Android(安卓)ClickableSpan 应用实例
  4. Android(安卓)通过handler和message在子
  5. android访问webservice
  6. Android(安卓)恐怖幽灵音效 程序(源码详解
  7. Android剪切板
  8. MeidaProvider 流程学习笔记
  9. Android(安卓)AsyncTask 异步任务取消
  10. Android动态刷新listview中的数据