【问题标题】:start android activity within cordova project在cordova项目中启动android活动
【发布时间】:2017-10-04 12:41:09
【问题描述】:

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

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

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

【问题讨论】:

    标签: android angular cordova ionic-framework ionic2


    【解决方案1】:

    简答

    没有

    详细解答:

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

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


    您尝试做的是打开不属于您的应用程序的设置。

    所以你可以从 Cordova 调用 Java 方法并调用你的代码

    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", []); //
    };
    

    【讨论】:

    • 感谢您的回答。有没有如何从cordova调用java方法的例子?
    • 我在哪里定义了这段代码,我怎么称呼它?
    • @SaskiaB 好吧,您可以找到很多如何从 javascript 调用方法的示例。 :) 我想我回答了你的问题。
    • @SaskiaB 你可以自己编写插件来与本机代码通信
    • 是的,我也是这么想的。我会试试的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    相关资源
    最近更新 更多