一、前端代码的编写

<!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. 【c++】动态绑定

    C++的函数调用默认不使用动态绑定.要触发动态绑定,必须满足两个条件: 只有指定为虚函数的成员函数才能进行动态绑定 必须通过基类类型的引用或指针进行函数调用 因为每个派生类对象中都拥有基类部分,所以可 ...

  2. [转]js 回车转成TAB(利用tabindex)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. SQL 工具系列二

    1.RedGate 工具 SQL Prompt 脚步智能提示工具 脚步提示工具,轻松写入,编辑和探索SQL: SQL Prompt能根据数据库的对象名称,语法和用户编写的代码片段自动进行检索,智能的为 ...

  4. JavaScript数组循环遍历之forEach

    1.  js 数组循环遍历. 数组循环变量,最先想到的就是 for(var i=0;i<count;i++)这样的方式了. 除此之外,也可以使用较简便的forEach 方式 2.  forEac ...

  5. linux系统下部署项目

    一.修改防火墙设置,开放对应的端口 修改Linux系统防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,如果要开放哪个端口,在里面添加一条  -A RH-Firewall- ...

  6. 简述Spring及配置

    简述Spring及配置 Spring最主要的思想就是IoC(Inversionof Control,控制反转),或者成为DI(Dependency Injection,依赖注入) 一.springMV ...

  7. JDBC编程错误:Exception in thread "main" java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)

    出现上面的错误是因为连接数据库的用户名不对或密码赋值不对,请对用户名和密码进行检查. 或者在程序中没有获取到正确的用户名或密码.看是否少写了用户名或密码.

  8. nyist 20 吝啬的国度(dfs)

    吝啬的国度 题目描述: 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来. 现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市, 必须经过的前一 ...

  9. 十一、使用a标签打电话、发短信、发邮件

    <a href="tel:400-888-6633">拨打电话<a> <a href="sms:19956321564">发 ...

  10. 小Y的轮回之路——攒机装机、B150装win7

    两个月前,陪伴我5年多的小Y(ideapad-y460N卡)突然大伤元气,硬盘跪了,显示屏也黑了一小块.本着经济实惠凑合用的态度换了个320G的硬盘,没想过几天显示屏情况加重,出现无数个红绿相间的线条 ...