Delphi XE7のAndroidアプリケーションでWifiの有効・無効を設定する

Delphi XE7のAndroidアプリケーションでWifiの有効・無効を設定する方法です。

Java2OPでWifiManagerクラスのブリッジファイルを作成します。

Java2OP.exe -classes android.net.wifi.WifiManager -unit Androidapi.JNI.WifiManager

プロジェクトオプションの「使用する権限」で「Wi-Fi 状態の変更」を「true」にします。

Wi-Fi状態の変更

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;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください