Wiifiテザリングを有効にしてアクセスポイントを作成するには、WifiManager隠しAPIを使用しています。今Android上でAPI 26の問題は、タグ@RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)
がsetWifiApEnabled
機能に追加されたことで、今、その呼び出しはfalseを返し、次のログが出力されます。Android O WiFiホットスポットをプログラムで有効にする方法
W/WifiManager:PACKAGE_NAMEはsetWifiApEnabled真= enabledに通話を試みました新しいドキュメントを読ん
、それは機能が廃止されており、今後のリリースで削除され、呼び出し側が適切な権限を持っていますが、このアプローチはありませんTETHER_PRIVILEGED権限で同じ問題を抱えている場合は代わりにConnectivityManager#startTethering
を使用することを言います。ドキュメントに提示されている他のオプションの1つはLocalOnlyHotspot
の使用ですが、作成されたホットスポットにはインターネット接続がないため、プロジェクトには使用できません。
私はまた、隠されたAPIからではなく、次の例外がスローされますので、成功していない結果とstartSoftAp
機能をテストしてみた:
新しいAPIでWifiホットスポットを有効にする回避策はありますか?私もWi-Fiテザリングの代替案を探しましたが、唯一の実行可能な代替手段は、3G速度を得ることの欠点を持つBluetoothテザリングであるようです。 Wifi AwareとWifi P2Pも考慮されましたが、これらはデバイス間でインターネット接続が共有されていないという問題があります。
これにアプローチする方法についてのご意見はありますか?
[https://stackoverflow.com/questions/45984345/how-to-turn-on-off-wifi-hotspot-programatically-in-android-8-0-oreo](https://stackoverflow.com)/question/45984345/how-to-turn-on-off-wifi-hotspot-programically-in-Android-8-0-oreo) – Mark
[Android 8.0でプログラマチックにWiFiホットスポットをオン/オフにする方法)](https://stackoverflow.com/questions/45984345/how-to-turn-on-off-wifi-hotspot-programatically-in-android-8-0-oreo) – tripleee