【发布时间】:2014-08-27 13:36:08
【问题描述】:
我有一个需要 VPN 的 Android 应用程序。我的用户将使用 Galaxy Note 3,并将使用内置的“VPN 客户端”(com.ipsec.vpnclient)。在 VPN 掉线的情况下,我需要找到一种从我的应用程序启动此应用程序的方法。我已经想出了一种方法来确定 VPN 是否掉线,但我仍然需要一种方法来启动应用程序。
回答:
感谢@Muthu 的帮助,我能够使用以下方法使其工作。
final Intent intent = new Intent("android.intent.action.VIEW");
intent.setComponent(new ComponentName("com.ipsec.vpnclient", "com.ipsec.vpnclient.MainActivity"));
编辑:
更令人困惑的是,我可以通过 ADW 或 Nova 等另一个启动器轻松地为活动添加快捷方式 (com.ipsec.vpnclient.MainActivity)。我也尝试在下面的方法中使用com.ipsec.vpnclient.MainActivity而不是com.ipsec.vpnclient,但无济于事。
Intent intent = getPackageManager().getLaunchIntentForPackage("com.ipsec.vpnclient");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
上述方法适用于其他软件包,但我似乎无法启动这个。
这是在Android System Info 中查看时的应用程序。
关于如何以编程方式启动此应用程序的任何想法?
【问题讨论】:
标签: android android-intent vpn