端末情報/クライアント情報
1
端末のIPアドレスを取得したい
1
Biz/Browserには、端末のIPアドレスを取得する機能はございません。
代替案として、ExternalObjectクラス(Java連携)を利用してAndroidのAPIを呼び出し、IPアドレス取得の処理を実装することが可能です。
[実行イメージ]
[ サンプルコード ]
Form Form1 { Width = 234; Height = 278; Button Button1 { X = 49; Y = 85; Width = 120; Height = 62; Title = "IPアドレス取得"; Function OnTouch( e ) { /* Biz/Browserのアクティビティコンテキストを取得 */ var ctx = ExternalObject.GetCurrentContext(); /* ConnectivityManagerを示す定数を取得 */ var conectivityServiceId = ExternalObject.getPropStatic("android.content.Context", null, "CONNECTIVITY_SERVICE"); /* ConnectivityManagerを取得 */ var cm = ctx.invoke("getSystemService", conectivityServiceId).cast("android.net.ConnectivityManager"); /* 現在アクティブなネットワークを取得 */ var currentNetwork = cm.Invoke("getActiveNetwork"); if(currentNetwork == null) { //.MessageBox("ネットワークに接続されていません"); return; } /* 接続状態を取得 */ var linkProperties = cm.Invoke("getLinkProperties", currentNetwork); if(linkProperties == null) { //.MessageBox("不明なネットワークです"); return; } /* IPアドレスを取得 */ var info = ""; var addrs = linkProperties.Invoke("getLinkAddresses"); var addrs_iter = addrs.Invoke("iterator"); var addrs_count = 0; var addr; while(addrs_iter.Invoke("hasNext")) { addr = addrs_iter.Invoke("next").Cast("android.net.LinkAddress"); addrs_count++; info +="〇IPアドレス" + str(addrs_count) + " : " + addr.Invoke("toString") + "\n"; } /* 取得したIPアドレスをメッセージボックスに表示 */ //.MessageBox(info); } } }
※IPアドレスを取得するために実行している関数はAndroid APIの機能です。
取得される値や仕様等の詳細は、Androidのドキュメントをご参照ください。
管理番号:CliHt_001
Biz-Collections Bizの宝箱 トップへ
Biz/Browser HT・Biz/Browser SmartDevice・Biz/Browser AI TIPS集 トップへ