gpt4 book ai didi

android - 如何为 ionic 创建 cordova 插件

转载 作者:太空宇宙 更新时间:2023-11-03 13:49:56 25 4
gpt4 key购买 nike

我是插件创建的新手,我搜索了如何创建 cordova 插件,我得到了这个链接, https://blogs.oracle.com/mobile/entry/introduction_to_custom_cordova_plugin 通过点击此链接,我创建了一个警报插件,但我无法在 ionic 中使用它,这里是放置在 src/android 文件夹下的 Alert.java 代码。

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaInterface;
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CordovaWebView;
import org.apache.cordova.PluginResult;
import org.apache.cordova.CordovaArgs;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;


public class Alert extends CordovaPlugin {
@Override
ublic boolean execute(String action, CordovaArgs args, CallbackContext callbackContext)
throws JSONException {

if (action.equals("alert")) {
alert(args.getString(0), args.getString(1), args.getString(2), callbackContext);
return true;
}
return false;
}

private synchronized void alert(final String title,
final String message,
final String buttonLabel,
final CallbackContext callbackContext) {
new AlertDialog.Builder(cordova.getActivity())
.setTitle(title)
.setMessage(message)
.setCancelable(false)
.setNeutralButton(buttonLabel, new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int which) {
dialogInterface.dismiss();
callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, 0));
}
})
.create()
.show();
}
}

这是放置在 www 文件夹下的 alert.js 代码

  module.exports = {

alert: function(title, message, buttonLabel, successCallback) {
cordova.exec(successCallback,null,"Alert","alert",[title, message, buttonLabel]);
}

};

plugin.xml 看起来像这样

<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
xmlns:android="http://schemas.android.com/apk/res/android"
id="cordova-plugin-my-alert"
version="0.0.2">

<name>Alert</name>
<description>A Cordova plugin that displays an alert popup dialog</description>
<license>Apache 2.0</license>

<js-module src="www/Alert.js" name="Alert">
<clobbers target="Alert" />
</js-module>

<!-- android -->
<platform name="android">
<config-file target="res/xml/config.xml" parent="/*">
<feature name="Alert">
<param name="android-package" value="com.acme.plugin.alert.Alert" />
</feature>
</config-file>
<source-file src="src/android/Alert.java" target-dir="src/com/acme/plugin/alert" />
</platform>
</plugin>

请帮助我哪里出错了。

最佳答案

我通过在警报函数中添加失败回调而不是 null 解决了上述错误,而且我在 Alert.java 类中遗漏了包名称

关于android - 如何为 ionic 创建 cordova 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36356784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com