一、前端代码的编写

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery Mobile Web 应用程序</title>
<link href="jquery.mobile-1.3.2.css" rel="stylesheet" type="text/css"/>
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.mobile-1.3.2.js" type="text/javascript"></script>
<script src="cordova.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
//点击发送按钮调用onSend方法
$('#send').bind('click', onSend); var onSend = function(){ var tel = $('#tel').val();
var content = $('#content').val(); window.send(success, error, tel, content); var success = function(data){
alert("发送短信成功tel : " + data);
}; var error = function(e){
alert("发送短信失败"+e);
};
};
}); //调用插件
window.send = function(success, error, tel, content) {
cordova.exec(success, error, "Message", "send", [tel,content]);
};
</script>
</head>
<body>
<div data-role="page" id="page">
<div data-role="header">
<h1>Phonegap发送短信插件</h1>
</div>
<div data-role="content">
<div id="messageDiv">
<input type="tel" id="tel" value="15201686455" />
<textarea rows="20" cols="25" id="content">你好树根我们做朋友吧!</textarea>
<button type="button" id="send">发送</button>
</div>
</div>
<div data-role="footer">
<h4>phonegap中文网</h4>
</div>
</div> </body>
</html>

二、注册插件

  在Android :res/xml/  这个目录下的配置文件下注册

<feature name="Message">
<param name="android-package" value="com.example.phonegap.sendmessage.Message"/>
</feature>

三、 设置权限(需要调用权限的地方设置权限)

  这里是需要发送短信,所以设置发送短信的权限

<uses-permission android:name="android.permission.SEND_SMS" />

四、java 代码编写

  1、创建一个包:com.example.phonegap.sendmessage;

  2、包里创建一个class :Message

package com.example.phonegap.sendmessage;

import org.apache.cordova.api.CallbackContext;
import org.apache.cordova.api.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.telephony.SmsManager;//该程序需要发送短信 所以要加上这个包 public class Message extends CordovaPlugin{
private static final String SEND = "send";
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) {
if (SEND.equals(action)) {
try {
JSONObject jsonObj = new JSONObject();
String target = args.getString(0); //收件人的信息返回
String content = args.getString(1); //发送短信的内容 SmsManager sms = SmsManager.getDefault();//活动发送短信的对象
sms.sendTextMessage(target, null, content, null, null);//调用发送短信的对象的发送短信的方法 jsonObj.put("target", target);
jsonObj.put("content", content); this.echo(target, callbackContext);
return true;
} catch (JSONException ex) {
this.echo("FAIL", callbackContext);
return false;
}catch(IllegalArgumentException ex){
this.echo("FAIL", callbackContext);
return false;
}
} else {
this.echo("FAIL", callbackContext);
return false;
}
}
private void echo(String message, CallbackContext callbackContext) {
if (message != null && message.length() > 0) {
callbackContext.success(message);
} else {
callbackContext.error("Expected one non-empty string argument.");
}
}
}

phoneGap的Android下编写phonegap 发送短信插件的更多相关文章

  1. phoneGap的Android下编写phonegap 插件

    一. javascript 端的编写  第一个参数 成功的回调函数 第二个参数 失败的回调函数 第三个参数 是插件的类名称,也就是后台java文件的类名 第四个参数 执行的 action 名称     ...

  2. Android软件开发之发送短信与系统短信库解析

    今天我和同学们讨论一下Android平台下如何调用系统方法发送短信.接收短信.系统的短信库相关的问题.进入正题,我们先使用Eclipse工具模拟给自己的模拟器发送一条短信.在Eclipse下打开DDM ...

  3. android 中调用接口发送短信

    android中可以通过两种方式发送短信 第一:调用系统短信接口直接发送短信:主要代码如下: //直接调用短信接口发短信 SmsManager smsManager = SmsManager.getD ...

  4. 【Android】Android6.0发送短信Demo

    整理一下使用SmsManager类发送短信的方法. https://developer.android.com/reference/android/telephony/SmsManager.html ...

  5. Android学习笔记_2_发送短信

    1.首先需要在AndroidManifest.xml文件中加入发送短信的权限 <uses-permission android:name="android.permission.SEN ...

  6. Android学习--写一个发送短信的apk,注意布局文件的处理过程!!!

    刚开始写Android程序如图发现使用了findViewById方法之后输出的话居然是null(空指针错误),也就是说这个方法没有成功.网上说这样写是在activity_main .xml去找这个ID ...

  7. Android之发送短信和接收验证码

      最近项目需求需要发送短信和接收验证码并将验证码显示在输入框中 以下是我的记录    前提---权限     <uses-permission android:name="andro ...

  8. android 发送短信的两种方式,以及接收报告和发送报告

               android发送短信,以及接收报告和发送报告          android中发送短信其实有两种方式,这个和打电话类似,大家可以了解一下:    一.调起系统发短信功能    ...

  9. Android中使用Intent的Action和Data属性实现点击按钮跳转到拨打电话和发送短信

    场景 点击拨打电话按钮,跳转到拨打电话页面 点击发送短信按钮,跳转到发送短信页面 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程 ...

随机推荐

  1. spring-boot 应用配置文件(.properties或.yml)

    1.应用配置文件(.properties或.yml) .properties在配置文件中直接写: name=Isea533 server.port=8080 .yml格式的配置文件如: name: I ...

  2. LINQ学习(1)

    LINQ LINQ,语言集成查询(Language INtegrated Query)是一组用于C#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同 ...

  3. PHP常用文件操作

    <?php $path = "/home/work/srccode/hello.go"; $dirName = dirname($path); $name = basenam ...

  4. BNU27937——Soft Kitty——————【扩展前缀和】

    Soft Kitty Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java class n ...

  5. 浅谈Java中的hashcode方法(转载)

    哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: 1 public native int hashCode(); 根据 ...

  6. PHP学习7——文件系统

    主要内容: 打开和关闭文件 文件类型 文件处理 目录处理 访问远程文件 文件锁定 文件上传 数据除了可以存储在数据库中,我们主要的还是存储在文件中,而且存储在文件中更加的方便直接. 打开和关闭文件 打 ...

  7. 出现多个sessid

    这种情况我也出现了,很郁闷.这是每次请求页面,都生成一个存PHPSESSID的cookie,cookie路径的问题,可以发现你这几个PHPSESSID的Path都不一样.我修改Thinkphp的配置文 ...

  8. 虚拟机下centos时间不正确的方便解决方法

    就是用NTP了,通过外部的服务同步时间. ntpdate us.pool.ntp.org | logger -t NTP 如果没有ntpdate ,可以使用 yum install ntpdate 进 ...

  9. Spring课程 Spring入门篇 6-1 Spring AOP API的PointCut、advice的概念及应用

    本节主要是模拟spring aop 的过程. 实现spring aop的过程 这一节老师虽然说是以后在工作中不常用这些api,实际上了解还是有好处的, 我们可以从中模拟一下spring aop的过程. ...

  10. String API

    String它即是内置对象,也是 包装类型之一,所有的String API都无法修改原字符串,而是返回一个新的字符串.   1.大小写转换 str.toUpperCase(); str = str.t ...