我正在尝试将新的Android 4.0 VPN框架与模拟器一起使用。
在我的示例应用中,我正在呼叫:
Intent intent = VpnService.prepare(SimpleVpnActivity.this);
if(null != intent){
startActivityForResult(intent, 1);
}
但应用程序因异常而崩溃 VpnService.prepare()返回一个显式的意图: 意图:{cmp = com.android.vpndialogs / .ConfirmDialog}用于无法找到的活动 startActivityForResult()。
我做错了吗?
我将不胜感激。
这是我的堆栈转储:
E/AndroidRuntime(12783): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.vpndialogs/
com.android.vpndialogs.ConfirmDialog}; have you declared this activity in your AndroidManifest.xml?
E/AndroidRuntime(12783): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1508)
E/AndroidRuntime(12783): at android.app.Instrumentation.execStartActivity(Instrumentation.java: 1384)
E/AndroidRuntime(12783): at android.app.Activity.startActivityForResult(Activity.java:3190)
E/AndroidRuntime(12783): at com.my.simple.vpn.SimpleVpnActivity $1.onClick(SimpleVpnActivity.java:30)
E/AndroidRuntime(12783): at android.view.View.performClick(View.java: 3460)
E/AndroidRuntime(12783): at android.view.View $PerformClick.run(View.java:13955)
E/AndroidRuntime(12783): at android.os.Handler.handleCallback(Handler.java:605)
E/AndroidRuntime(12783): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(12783): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(12783): at android.app.ActivityThread.main(ActivityThread.java:4340)
E/AndroidRuntime(12783): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(12783): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(12783): at com.android.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:784)
E/AndroidRuntime(12783): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
E/AndroidRuntime(12783): at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:4)
看起来com.android.vpndialogs
包不是作为模拟器图像的一部分构建的。这是SDK团队需要修复的错误。
我要说在b.android.com上提交一个错误,但看起来你已经完成了这个并且正在调查中。 :)