在Android中手动启动3G连接并保持开启状态

Chl*_*loe 6 linux networking android android-networking

在启用WiFi的同时,如何在Android中启动3G数据连接?我试过了

IConnectivityManager.setMobileDataEnabled(enabled); // via reflection
Run Code Online (Sandbox Code Playgroud)

它可以在模拟器中运行,但在我的真实手机(Droid 2)中,它会短暂打开然后再次关闭.

从shell(adb shell),ip link提供3G连接的详细信息:

15: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 3 link/ppp

但是,它仅在WiFi关闭时可用.当WiFi打开并且我尝试手动打开它时,它会抱怨ppp0设备不存在.

bash-3.2# ip link set ppp0 up
ip link set ppp0 up
Cannot find device "ppp0"
Run Code Online (Sandbox Code Playgroud)

当我尝试列出设备时,我甚至找不到它

bash-3.2# ls /dev/ppp*
ls /dev/ppp*
/dev/ppp
Run Code Online (Sandbox Code Playgroud)

And*_*eas 0

您可以尝试通过修改连接服务来同时保持两者处于活动状态,但我建议不要这样做,因为它很可能会破坏您的电池寿命。

如果您想尝试一下,请参阅此处(显然,请确保您有备份)