我试图以编程方式启动vpn连接.我收到了这个错误.我使用的是Android 2.1,我的测试手机内核版本是2.6.32.9.当我手动操作时,我能够连接到VPN.但是以编程方式,我收到了这个错误.
java.io.IOException: cannot start service: mtpd
E/VpnService(11817): at com.android.vpn.DaemonProxy.start(DaemonProxy.java:75)
E/VpnService(11817): at com.android.vpn.VpnDaemons.startDaemon(VpnDaemons.java:106)
E/VpnService(11817): at com.android.vpn.VpnDaemons.startMtpd(VpnDaemons.java:127)
E/VpnService(11817): at com.android.vpn.VpnDaemons.startL2tp(VpnDaemons.java:50)
E/VpnService(11817): at com.android.vpn.L2tpService.connect(L2tpService.java:31)
E/VpnService(11817): at com.android.vpn.VpnService.onConnect(VpnService.java:135)
E/VpnService(11817): at com.android.vpn.VpnServiceBinder$2.run(VpnServiceBinder.java:130)
E/VpnService(11817): at java.lang.Thread.run(Thread.java:1096)
Run Code Online (Sandbox Code Playgroud)
DeamonProxy:75指向以下方法.
private boolean blockUntil(String expectedState, int waitTime) {
String cmd = SVC_STATE_CMD_PREFIX + mName;
int sleepTime = 200; // ms
int n = waitTime * 1000 / sleepTime;
for (int i = 0; i < n; i++) {
if (expectedState.equals(SystemProperties.get(cmd))) {
if (DBG) {
Log.d(mTag, mName + " is " + expectedState + " after "
+ (i * sleepTime) + " msec");
}
break;
}
sleep(sleepTime);
}
return expectedState.equals(SystemProperties.get(cmd));
}
Run Code Online (Sandbox Code Playgroud)
此方法超时并返回上述错误.
非常感谢任何帮助/建议.
提前致谢.
| 归档时间: |
|
| 查看次数: |
2685 次 |
| 最近记录: |