我有一个需要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/