在cordova项目中启动android活动

时间:2017-10-04 12:41:09

标签: android angular cordova ionic-framework ionic2

是否可以在cordova项目中调用以下代码?

Intent intent = new Intent("android.net.vpn.SETTINGS");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

我尝试使用WebIntent(link),但它不支持标志集,而且我不知道如何设置选项。

1 个答案:

答案 0 :(得分:3)

简短回答

没有

详细答案:

Cordova仅使用一个活动(Web视图),因此您无法打开新活动。

但Ionic(Angular)支持状态,您可以在Web视图中切换视图

您尝试执行的操作是打开不属于您的应用程序的设置。

因此,您可以从Cordova调用Java方法并调用您的代码

爪哇

private boolean openWifiSettings(final CallbackContext callbackContext) {

        final CordovaPlugin plugin = this;

        this.cordova.getThreadPool().execute(new Runnable() {
            public void run() {


                     cordova.startActivityForResult(plugin, new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS), 0);

                    callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK));

            }
        });

        return true;
    }

并在javascript中:

YourPlugin.prototype.openWifiSettings = function (successCallback, errorCallback) {
  cordova.exec(successCallback, errorCallback, "MoodoPlugin", "openWifiSettings", []); //
};