更新记录
1.0.0(2026-01-17) 下载此版本
demo插件
平台兼容性
package com.example.unitoastplugin
import android.content.Context
import android.os.Handler
import android.os.Looper
import android.widget.Toast
import io.dcloud.feature.uniapp.bridge.UniJSCallback
import io.dcloud.feature.uniapp.annotation.UniJSMethod
import io.dcloud.feature.uniapp.common.UniModule
/**
* uni-app Toast原生插件
* 实现简单的Toast消息显示功能
*/
class UniToastPlugin : UniModule() {
/**
* 显示Toast消息(同步方法)
* @param message 消息内容
* @param duration 显示时长 0=短(Toast.LENGTH_SHORT), 1=长(Toast.LENGTH_LONG)
* @return 返回结果信息
*/
@UniJSMethod(uiThread = true)
fun showToast(message: String?, duration: Int): String {
val context = mUniSDKInstance.context ?: return "Error: Context is null"
val msg = message ?: "Empty message"
val toastDuration = if (duration == 1) Toast.LENGTH_LONG else Toast.LENGTH_SHORT
try {
Handler(Looper.getMainLooper()).post {
Toast.makeText(context, msg, toastDuration).show()
}
return "Toast shown: $msg"
} catch (e: Exception) {
return "Error showing toast: ${e.message}"
}
}
/**
* 异步显示Toast消息(带回调)
* @param message 消息内容
* @param callback 回调函数
*/
@UniJSMethod(uiThread = true)
fun showToastAsync(message: String?, callback: UniJSCallback?) {
val context = mUniSDKInstance.context ?: run {
callback?.invoke(mapOf("success" to false, "message" to "Context is null"))
return
}
val msg = message ?: "Empty message"
try {
Handler(Looper.getMainLooper()).post {
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show()
callback?.invoke(mapOf("success" to true, "message" to "Toast shown successfully"))
}
} catch (e: Exception) {
callback?.invoke(mapOf("success" to false, "message" to "Error: ${e.message}"))
}
}
/**
* 获取插件信息
*/
@UniJSMethod(uiThread = false)
fun getPluginInfo(): Map<String, Any> {
return mapOf(
"name" to "UniToastPlugin",
"version" to "1.0.0",
"author" to "Your Company",
"description" to "uni-app Toast原生插件"
)
}
}

收藏人数:
下载插件并导入HBuilderX
下载插件ZIP
赞赏(0)
下载 6
赞赏 0
下载 13379463
赞赏 1845
赞赏
京公网安备:11010802035340号