Delphi XE7のAndroidアプリケーションでWifiの有効・無効を設定する方法です。
Java2OPでWifiManagerクラスのブリッジファイルを作成します。
Java2OP.exe -classes android.net.wifi.WifiManager -unit Androidapi.JNI.WifiManager
プロジェクトオプションの「使用する権限」で「Wi-Fi 状態の変更」を「true」にします。
IsWifiEnabledメソッドを作成します。
type
TForm1 = class(TForm)
/// <summary>
/// Wifiの有効無効を設定する
/// </summary>
procedure SetWifiEnabled(Enabled: Boolean);
end;
実装は次のようになります。
uses
Androidapi.Helpers,
Androidapi.JNI.JavaTypes,
Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNIBridge,
Androidapi.JNI.WifiManager;
procedure TForm1.SetWifiEnabled(Enabled: Boolean);
var
Obj: JObject;
WifiManager: JWifiManager;
begin
Obj := SharedActivityContext.getSystemService
(TJContext.JavaClass.WIFI_SERVICE);
if Obj = nil then
Exit;
WifiManager := TJWiFiManager.Wrap((Obj as ILocalObject).GetObjectID);
WifiManager.setWifiEnabled(Enabled);
end;