phoneGap的Android下编写phonegap 发送短信插件
一、前端代码的编写
<!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 发送短信插件的更多相关文章
- phoneGap的Android下编写phonegap 插件
一. javascript 端的编写 第一个参数 成功的回调函数 第二个参数 失败的回调函数 第三个参数 是插件的类名称,也就是后台java文件的类名 第四个参数 执行的 action 名称 ...
- Android软件开发之发送短信与系统短信库解析
今天我和同学们讨论一下Android平台下如何调用系统方法发送短信.接收短信.系统的短信库相关的问题.进入正题,我们先使用Eclipse工具模拟给自己的模拟器发送一条短信.在Eclipse下打开DDM ...
- android 中调用接口发送短信
android中可以通过两种方式发送短信 第一:调用系统短信接口直接发送短信:主要代码如下: //直接调用短信接口发短信 SmsManager smsManager = SmsManager.getD ...
- 【Android】Android6.0发送短信Demo
整理一下使用SmsManager类发送短信的方法. https://developer.android.com/reference/android/telephony/SmsManager.html ...
- Android学习笔记_2_发送短信
1.首先需要在AndroidManifest.xml文件中加入发送短信的权限 <uses-permission android:name="android.permission.SEN ...
- Android学习--写一个发送短信的apk,注意布局文件的处理过程!!!
刚开始写Android程序如图发现使用了findViewById方法之后输出的话居然是null(空指针错误),也就是说这个方法没有成功.网上说这样写是在activity_main .xml去找这个ID ...
- Android之发送短信和接收验证码
最近项目需求需要发送短信和接收验证码并将验证码显示在输入框中 以下是我的记录 前提---权限 <uses-permission android:name="andro ...
- android 发送短信的两种方式,以及接收报告和发送报告
android发送短信,以及接收报告和发送报告 android中发送短信其实有两种方式,这个和打电话类似,大家可以了解一下: 一.调起系统发短信功能 ...
- Android中使用Intent的Action和Data属性实现点击按钮跳转到拨打电话和发送短信
场景 点击拨打电话按钮,跳转到拨打电话页面 点击发送短信按钮,跳转到发送短信页面 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程 ...
随机推荐
- js验证港澳居民通行证号码是否合规
需求:最近要做实名验证的功能,但是验证我们要验证严谨一点,参考了网上关于验证港澳居民通行证号码的代码,总结一下. 代码: function checkHKMacao(code){ var tip = ...
- crontab 设置服务器定期执行备份工作
基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用*或者 */1表示 第2列表示小时1-23(0表示0点) 第3列表示日期1-31 第4列表示 ...
- 流畅的python和cookbook学习笔记(九)
1.减少可调用对象的参数个数,使用functools.partial冻结参数 使用functools.partial(),可以固定一个或者多个值,减少调用参数. >>> def sp ...
- 版本控制器之SVN
1.开发中的实际问题 1.1 小明负责的模块就要完成了,就在即将Release之前的一瞬间,电脑突然蓝屏,硬盘光荣牺牲!几个月来的努力付之东流——需求之一:备份! 1.2 这个项目中需要一个很复杂的功 ...
- thinkphp传送文章id值
- css-flex布局知识梳理
一.传统的布局 布局的传统解决方案,基于盒装模型,依赖 display 属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. 二. Flex的 ...
- java.util.concurrent.Semaphore 使用
1. 概述 Semaphore(信号) 并不存在真正的许可 只是维护一个计数器, 通常用来限定进入一些资源的线程数 accquire() 方法获取许可 成功则计数器值-1 没有则阻塞直到一个可用的 ...
- Perl学习笔记(3)----遍历哈希表的一个容易疏忽的地方
今天做 Google的 Code Jam 上的一道题目:https://code.google.com/codejam/contest/351101/dashboard#s=p2,用Perl语言解答的 ...
- C# DataGridview转换为DataTable
如已绑定过数据源: DataTable dt = (dataGridView1.DataSource as DataTable) 如未绑定过数据源: public DataTable GetDgvTo ...
- GIS与FVCOM模型耦合的关键技术及解决思路
1. FVCOM本身为Linux下的MPI程序,首先将其移植到Windows下,可以编译成控制台程序. 2. FVCOM的前处理由GIS完成剖分网格和初始设定等工作. 3. FVCOM的输出采用自定义 ...