【问题标题】:Network connection settings on Android TV emulatorAndroid TV 模拟器上的网络连接设置
【发布时间】:2019-03-03 07:53:09
【问题描述】:

我想关闭 Android TV 模拟器上的网络连接。

我发现:设置 -> 网络 -> Wifi 开/关,但我的模拟器设备仍然有互联网。是否有一些快捷方式 (iMac) 或简单的终端命令会禁用网络?

运行./adb shell am broadcast -a 给我这个消息L

android.intent.action.WIFI_OFF
Broadcasting: Intent { act=android.intent.action.WIFI_OFF }
Broadcast completed: result=0

但我的模拟器上仍有网络连接。

【问题讨论】:

  • 这是一个有趣的问题!大多数程序员只是切换“飞行模式”来禁用模拟设备上的互联网,但这对于 Android-TV 可能是不可能的。我记得之前使用功能键 (F8) 来禁用模拟设备上的互联网连接,但这似乎不再起作用。我很想知道是否有人对这个问题提供了一个好的答案!同时,如果你很绝望,你可以在你的开发机器上切换 WiFi 连接(当然这也会禁用模拟设备的互联网连接)。
  • 关闭 wifi 对我有用。当我关闭wifi后adb shell ping www.google.com时,没有连接。奇怪的是您的模拟器仍然处于连接状态。

标签: android android-emulator


【解决方案1】:

如果是根设备,则使用以下代码禁用网络

try {
Runtime.getRuntime().exec("su -c svc data disable");
} catch (IOException e) {
Log.d("Error", e.getMessage());
}

再次想要启用只需将 disable 更改为 enable

在清单文件中

<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>

WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); 
wifiManager.setWifiEnabled(true);
wifiManager.setWifiEnabled(false);

使用下面的检查是否启用

boolean wifiEnabled = wifiManager.isWifiEnabled()

清单中的权限

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2016-03-02
    • 2018-02-12
    • 2011-06-18
    • 2013-02-20
    • 2014-10-15
    • 1970-01-01
    相关资源
    最近更新 更多