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 关注公众号 霸道的程 ...
随机推荐
- Mybatis 关联查询(二
一对多的管理查询结果映射 1.进行一对多的查询时候,要在主查询表对应的Po中加入关联查询表对应PO的类的list集合作为属性. public class Orders { private Inte ...
- Python基础(3) - 数据类型:2字符串类型
Python字符串的表示有三种方法: 1.单引号(') >>>a = 'I love python. ' 2.双引号(") >>>a = " I ...
- 有标号的DAG计数 III
Description 给定一正整数n,对n个点有标号的有向无环图进行计数,这里加一个限制:此图必须是弱连通图.输出答案 mod 10007 的结果. Solution 弱连通图即把边变成无向之后成为 ...
- Hackers top in China
黑客,英文hacker.精通计算机各类技术的计算机高手,泛指擅长IT技术的人群.计算机科学家. 最近受某机构所托搜集国内活跃黑客近况.本着客观专业,权威可信的原则参考了国内从00年到最新的黑客榜单,以 ...
- Hadoop学习笔记(4) ——搭建开发环境及编写Hello World
Hadoop学习笔记(4) ——搭建开发环境及编写Hello World 整个Hadoop是基于Java开发的,所以要开发Hadoop相应的程序就得用JAVA.在linux下开发JAVA还数eclip ...
- [android] post请求接口demo测试代码
MainActivity.java package com.tsh.test; import java.io.InputStream; import java.io.OutputStream; imp ...
- 简单来看看JavaBean
1.什么是JavaBean? JavaBean是一个遵循特定写法的java类. 用作JavaBean的类必须有一个公共的,无参数的构造方法. JavaBean的属性与普通的Java类的属性的概念一样, ...
- ASP.NET 后台验证 TextBox 值是否为数字
记得最开始 using System.Text.RegularExpressions; Regex m_regex = new System.Text.RegularExpressions.Regex ...
- QQ 聊天机器人小薇发布!
简介 XiaoV(小薇)是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动: 监听多个 QQ 群消息,发现有"感兴趣"的内容时通过图灵机器人进行智能回复 监 ...
- hive中的bucket table
前言 bucket table(桶表)是对数据进行哈希取值,然后放到不同文件中存储 应用场景 当数据量比较大,我们需要更快的完成任务,多个map和reduce进程是唯一的选择.但是如果输入文件是一个的 ...