Phonegap(Cordova自定义插件)实现分享功能

2023-11-30 21:08

本文主要是介绍Phonegap(Cordova自定义插件)实现分享功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

利用phonegap(Cordova)的拓展我们可以利用本地的安卓或者ios代码拓展web App的功能,下面就来介绍一个分享插件,利用这一功能我们可以自定义好短信的内容然后发送给你的好友。
1.首先介绍phonegap必备的两个文件,分别是本地.java代码Share.java
[java] 
/**
 * 
 * Phonegap share plugin for Android
 * Kevin Schaul 2011
 *
 */ 
 
package com.tricedesigns; 
 
import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 
 
import android.content.Intent; 
 
import org.apache.cordova.api.Plugin; 
import org.apache.cordova.api.PluginResult; 
 
public class Share extends Plugin { 
 
    @Override 
    public PluginResult execute(String action, JSONArray args, String callbackId) { 
        try { 
            JSONObject jo = args.getJSONObject(0); 
            doSendIntent(jo.getString("subject"), jo.getString("text"));  
            return new PluginResult(PluginResult.Status.OK); 
        } catch (JSONException e) { 
            return new PluginResult(PluginResult.Status.JSON_EXCEPTION); 
        } 
    } 
     
    private void doSendIntent(String subject, String text) { 
        Intent sendIntent = new Intent(android.content.Intent.ACTION_SEND); 
        sendIntent.setType("text/plain"); 
        sendIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
        sendIntent.putExtra(android.content.Intent.EXTRA_TEXT, text); 
        this.cordova.startActivityForResult(this, sendIntent, 0); 
    } 
 

2.(.js文件share.js)
[javascript] 
/**
 * 
 * Phonegap share plugin for Android
 * Kevin Schaul 2011
 *
 */ 
  
var Share = { 
        show:function(content, success, fail) { 
            return cordova.exec( function(args) { 
                success(args); 
            }, function(args) { 
                fail(args); 
            }, 'Share', '', [content]); 
        } 
}; 

3.然后我们在phonegap项目中添加上述两个文件
 
4.在plugin.xml中添加语句(记得修改packageName)
[html]
<plugin name="Share" value="com.schaul.plugins.share.Share"/> 

5.定义调用的js
[javascript] 
function shareClick(){ 
        Share.show({ 
            subject: 'I like turtles', 
            text: 'http://www.mndaily.com'}, 
            function() {}, // Success function 
            function() {alert('Share failed')} // Failure function 
        ); 
    } 

效果如下:


这篇关于Phonegap(Cordova自定义插件)实现分享功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/438552

相关文章

Python实现AVIF图片与其他图片格式间的批量转换

《Python实现AVIF图片与其他图片格式间的批量转换》这篇文章主要为大家详细介绍了如何使用Pillow库实现AVIF与其他格式的相互转换,即将AVIF转换为常见的格式,比如JPG或PNG,需要的小... 目录环境配置1.将单个 AVIF 图片转换为 JPG 和 PNG2.批量转换目录下所有 AVIF 图

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Pydantic中model_validator的实现

《Pydantic中model_validator的实现》本文主要介绍了Pydantic中model_validator的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录引言基础知识创建 Pydantic 模型使用 model_validator 装饰器高级用法mo

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多

Redis分片集群的实现

《Redis分片集群的实现》Redis分片集群是一种将Redis数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性,本文主要介绍了Redis分片集群的实现,具有一定的参考价值,感兴趣的可以了解一... 目录1. Redis Cluster的核心概念哈希槽(Hash Slots)主从复制与故障转移2.

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

使用Python实现一键隐藏屏幕并锁定输入

《使用Python实现一键隐藏屏幕并锁定输入》本文主要介绍了使用Python编写一个一键隐藏屏幕并锁定输入的黑科技程序,能够在指定热键触发后立即遮挡屏幕,并禁止一切键盘鼠标输入,这样就再也不用担心自己... 目录1. 概述2. 功能亮点3.代码实现4.使用方法5. 展示效果6. 代码优化与拓展7. 总结1.

Mybatis 传参与排序模糊查询功能实现

《Mybatis传参与排序模糊查询功能实现》:本文主要介绍Mybatis传参与排序模糊查询功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、#{ }和${ }传参的区别二、排序三、like查询四、数据库连接池五、mysql 开发企业规范一、#{ }和${ }传参的

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

基于SpringBoot+Mybatis实现Mysql分表

《基于SpringBoot+Mybatis实现Mysql分表》这篇文章主要为大家详细介绍了基于SpringBoot+Mybatis实现Mysql分表的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录基本思路定义注解创建ThreadLocal创建拦截器业务处理基本思路1.根据创建时间字段按年进