Mobileのテザリングを有効にするやつMS-TCCってちゃんと仕様あったAndroidでMS-TCC使えるようにするアプリつくってみたGitHubにソースとAPKあります。Mobileだと、Bluetoothでペアリング済みでPC、電話ともにBluetoothがONになっているとWifiテザリングの設定を端末に触ることなくONにできる機能がありますよね。macOSとiOSでもできるあれです。あれのWindows版。VAIOとXperiaのセットでも独自実装されてるやつがありますね。10の標準実装でMicrosoft拡張のMS-TCCです。詳しいことがEngadgetに書いてました。10のWifi設定からテザリングを有効にできますよ。MADOSMAをこの機能のためだけに比較的使ってたのですが、よく考えたらこれAndroidでもできるんじゃないかなぁ...と思い、調べてたらこの仕様ってちゃんとドキュメントあるんですね*1。下調べMS-TCCのドキュメントを読むとやらないといけないことと、必要な情報がいくつか。広告リクエストを処理してテザリングを有効にするやったほうがいいこと端末が圏外かどうかとか見てエラー返す必要なもののうち、ESSIDとパスフレーズはWifiManager#getWifiApConfigurationをリフレクションで叩くと普通に読める。問題はBSSIDで、フィールドはあるけどここに入ってない。6.0からWifiのMACアドレスが読めなくなってしまった。addrコマンドを実行して結果からMACアドレスを探すことに。やらないといけないことについては、BluetoothAdapter#listenUsingRfcommWithServiceRecordでBluetoothソケットを作るとSDPは広告できるし、リクエストを処理してテザリングを有効にするのはWifiManager#setWifiApEnabledをこれまたリフレクションで叩くと実現できそう。できましたそんなこんなでやってみたら動いたのでGitHubにソースとかおいておきました。github.comところで、MS-TCCのドキュメントを読んでいただければわかるとおもいますが、この仕様、テザリングをONにすることはできるのにOFFにすることはできないんですよ。テザリングの自動OFF機能がついてる機種以外はONになりっぱなし。最後OFFだけ手動でやってください。いまのところAPKなしでソースだけなので各自ビルドしてください。あとBluetoothがOFFだった時のエラー処理が何も入ってないのでたぶんやばいです。BluetoothがOffだったりOn/Offされたときにおかしくならないようにして、APKにしました。GitHubのReleasesからどうぞ*2。BookがJIS配列になったので手放しました。A...2015-12-23今年買ってよかったもの年の瀬ですね。Assistantに対応させる月別アーカイブはてなブログをはじめよう!tmytさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。