Delphi XE7 判断Android应用程序中的通信状态类型


本文整理自网络,侵删。

 
//记得设置给检测网络状态的权限
uses
  Androidapi.JNIBridge,
  Androidapi.Helpers,
  Androidapi.JNI.JavaTypes,
  Androidapi.JNI.GraphicsContentViewText,
  Androidapi.JNI.Interfaces;

procedure TForm1.Button1Click(Sender: TObject);
var
  ConnectivityManagerObj: JObject;
  ConnectivityManager: JConnectivityManager;
  NetworkInfo: JNetworkInfo;
  NetworkType: Integer;
begin
  ConnectivityManagerObj := SharedActivityContext.getSystemService
    (TJContext.JavaClass.CONNECTIVITY_SERVICE);
  ConnectivityManager := TJConnectivityManager.Wrap
    ((ConnectivityManagerObj as ILocalObject).GetObjectID);

  NetworkInfo := ConnectivityManager.getActiveNetworkInfo();
  if NetworkInfo = nil then
  begin
    ShowMessage('未接?A');
    Exit;
  end;

  NetworkType := NetworkInfo.getType;
  if NetworkType = TJConnectivityManager.JavaClass.TYPE_WIFI then
  begin
    ShowMessage('Wi-Fi数据通信');
  end
  else if NetworkType = TJConnectivityManager.JavaClass.TYPE_MOBILE then
  begin
    ShowMessage('移动数据通信');
  end;
end;

相关阅读 >>

Delphi 执行一个外部程序,当外部程序结束后言主程序立即响应

Delphi tlistview按指定列排序

Delphi 获取文件大小方法

Delphi使用hough变换查找直线

Delphi fdquery遍历输出 json

Delphi 鼠标跟随代码

Delphi 时间耗时统计

Delphi sysutils.stringreplace - 替换

Delphi 10.4中新增功能:新的vcl tedgebrowser组件

Delphi tpath

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...