機内モードが有効になっている場合にのみ使用するアプリを作成しています。このアプリは、控えめに言っても、技術に精通していない人向けです。したがって、上にスワイプして飛行機のアイコンをクリックすることは期待できません。アプリ内で機内モード フォームをオンにするのに最も近い方法は何ですか?
基本的に、UIRequiresPersistentWifi の反対を探しています。
さて、私はあなたにもっと簡単で速いテクニックを与えることができます. ユーザーに尋ねる前にこの回答getIPaddresses
からメソッドを実行し、情報 (または少なくともカウント) を保存します。次のように表示されます。
"awdl0/ipv6" = "0:0:fe80::6456:66ff";
"en0/ipv4" = "192.168.1.4";
"en0/ipv6" = "0:0:fe80::4e5:772f";
"lo0/ipv4" = "127.0.0.1";
"lo0/ipv6" = "0:0:fe80::";
"pdp_ip0/ipv4" = "10.226.14.199";
これらはすべてアクティブな IP アドレスです。次に、機内モードをオンにするように依頼します。はいをタップすると、そのコードを再度実行すると、返される辞書は nil になるはずです。もしそうでなく、以前と同じなら、彼らは嘘をついた!
機内モードでインターフェイスがオフになるかどうかを確認しましたinterface->ifa_flags & IFF_UP
が ( )、そうではなく、2 つのループバック アドレスが常にアクティブになっています。
機内モードがどのように見えるかをユーザーに教えてもらうよりもうまくやることができます.pdp_インターフェースはセルラーインターフェースです. 少なくとも、これは私の目的には十分です。
Xamarin でのコードは次のようになります。
foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
if ((OperationalStatus.Up == ni.OperationalStatus) && (ni.Description.StartsWith("pdp_")))
return false;
}
return true;