我有一个需要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中查看的应用程序。


关于如何以编程方式启动此应用程序的任何想法?

最佳答案

您可以使用intent启动任何已安装的应用程序。在你这样的情况下

Intent LaunchVPN = getPackageManager().getLaunchIntentForPackage("com.ipsec.vpnclient");
startActivity( LaunchVPN );


编辑
您可以通过以下方法打开设置页面中的预安装应用程序:

final Intent i = new Intent("android.intent.action.VIEW");
i.setComponent(new   ComponentName("com.android.settings","com.android.settings.InstalledAppDetails"));
startActivity(i);

关于android - Android以编程方式启动VPNClient(com.ipsec.vpnclient),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25528671/

10-12 05:33