- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
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('未接続');
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;