- 浏览: 335775 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
secally:
楼主可以上传个例子吗,谢谢,我咋跑不起来,,eclipse不是 ...
Android自动打包、签名、优化、上传ANT脚本 -
secally:
请问下执行命令是啥,ant release 还是?麻烦指教谢谢 ...
Android自动打包、签名、优化、上传ANT脚本 -
trp1022:
好牛啊
程序员不能不通文史 -
sunny78117:
谢谢,写得好
Android bitmap优化 -
futurebp:
这是什么类型的脚本啊?
Android自动打包、签名、优化、上传ANT脚本
android下发送中文短消息
在android中用直接使用smsManager.sendTextMessage()方法发送中文或其它unicode字符会显示不正确。 目前来说想正确发送中文,需要自己构造PDU,然后在JAVA中用反射调用SmsManager的private sendRawPdu方法来实现。 参考:http://www.android123.com.cn/androidkaifa/180.html
上文中只说了PDU构造实现原理,具体怎么使用没有涉及。俺这再补一把,直接贴出代码。其实android本身SDK就有相应方法以UCS2编码发送,只是默认不会调用。 以下代码G1下测试通过
public class SmsHelper { public static final int MAX_USER_DATA_BYTES = 140; private Context mContext; public SmsHelper(Context c) { mContext = c; } public void sendUnicodeMessage(String phone, String text) { SmsManager smsManager = SmsManager.getDefault(); Class clazz = smsManager.getClass(); try { Class[] types = new Class[4]; types[0] = byte[].class; types[1] = byte[].class; types[2] = Class.forName("android.app.PendingIntent"); types[3] = Class.forName("android.app.PendingIntent"); Object[] params = new Object[4]; params[0] = null; params[1] = getSubmitPdu(null, phone, text).encodedMessage; params[2] = PendingIntent .getBroadcast(mContext, 0, new Intent(), 0); // params[2] = null; params[3] = null; Method m = clazz.getDeclaredMethod("sendRawPdu", types); m.setAccessible(true); m.invoke(smsManager, params); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SecurityException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } } public static SubmitPdu getSubmitPdu(String scAddress, String destinationAddress, String message) { if (message == null || destinationAddress == null) { return null; } SubmitPdu ret = new SubmitPdu(); byte mtiByte = (byte) (0x01 | 0x00); ByteArrayOutputStream bo = getSubmitPduHead(scAddress, destinationAddress, mtiByte, false, ret); byte[] userData, textPart; // Encoding to the 7-bit alphabet failed. Let's see if we can // send it as a UCS-2 encoded message try { textPart = message.getBytes("utf-16be"); } catch (UnsupportedEncodingException uex) { uex.printStackTrace(); return null; } userData = textPart; if (userData.length > MAX_USER_DATA_BYTES) { // Message too long return null; } // TP-Data-Coding-Scheme // Class 3, UCS-2 encoding, uncompressed bo.write(0x0b); // (no TP-Validity-Period) // TP-UDL bo.write(userData.length); bo.write(userData, 0, userData.length); ret.encodedMessage = bo.toByteArray(); return ret; } private static ByteArrayOutputStream getSubmitPduHead(String scAddress, String destinationAddress, byte mtiByte, boolean statusReportRequested, SubmitPdu ret) { ByteArrayOutputStream bo = new ByteArrayOutputStream( MAX_USER_DATA_BYTES + 40); // SMSC address with length octet, or 0 if (scAddress == null) { ret.encodedScAddress = null; } else { ret.encodedScAddress = PhoneNumberUtils .networkPortionToCalledPartyBCDWithLength(scAddress); } // TP-Message-Type-Indicator (and friends) if (statusReportRequested) { // Set TP-Status-Report-Request bit. mtiByte |= 0x20; } bo.write(mtiByte); // space for TP-Message-Reference bo.write(0); byte[] daBytes; daBytes = PhoneNumberUtils .networkPortionToCalledPartyBCD(destinationAddress); // destination address length in BCD digits, ignoring TON byte and pad // TODO Should be better. bo.write((daBytes.length - 1) * 2 - ((daBytes[daBytes.length - 1] & 0xf0) == 0xf0 ? 1 : 0)); // destination address bo.write(daBytes, 0, daBytes.length); // TP-Protocol-Identifier bo.write(0); return bo; } }
发表评论
-
抓取Android WebView截屏
2011-08-19 21:33 7604一般使用setDrawingCacheEnabled(true ... -
Android bitmap优化
2011-08-11 17:02 5899直接使用ImageView显示 ... -
Android模拟器更改分辨率后 无法取得分辨率问题
2011-05-11 21:06 2811在PC上更改模拟器分辨率为480*800 (如果你的PC界面 ... -
获取屏幕硬件分辨率方法 收藏
2011-05-11 16:28 1886TextView tv=(TextVie ... -
Bytecode for the Dalvik VM
2011-05-10 22:35 1324http://www.netmite.com/android/ ... -
Android DEX反编译后部分代码解析
2011-05-10 22:07 3877一个private 方法 private Stri ... -
反编译并且修改Android APK包
2011-05-10 16:57 3070為了某個實驗的動機,我們評估反編譯 Android ... -
Android Ant编译时候进行混淆
2010-10-18 13:49 3809版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
自定义Ant Task
2010-09-13 17:58 2968版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自动打包、签名、优化、上传ANT脚本
2010-07-26 16:51 13940版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自定义含有CheckBox的Adapter遇到的问题
2010-06-23 13:48 4092版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
QR code类库
2010-06-03 23:11 2294Google code发现的好东西。 QR code 类库 ... -
Android QQ,一个WEBOS APP诞生!!(两个QQ对比!)
2010-04-10 12:05 1850请看这个大哥的言论 http://linuxtoy.or ... -
Android 、BlackBerry 文本对齐方式对比
2010-02-22 13:11 1782版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
教你如何开关Android的APN网络
2010-01-08 11:36 5974版权所有,转载请注明来自Mobile Developer (h ... -
史上最强NDK入门项目实战
2009-10-10 13:29 2667以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
使用TimerTask控制ProgressBar
2009-10-10 13:21 1051以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
自定义List布局
2009-10-10 13:19 1861以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
重画Progressbar的进度
2009-10-10 13:15 1915以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
谈谈Android中文短信的实现
2009-10-10 13:13 2147似 乎Google在推出G1时 ...
相关推荐
android发送短信息程序,还有界面切换,短信拦截 源代码
一个Android 下发送Email的库
详细的描述了短信息发送的流程,在android中,APP通过SmsManager.java一系列方法实现发送短信的功能,而发送的内容有很很多种,比如sendTextMessage、sendMultipartTextMessage、sendDataMessage等等,在这篇文章里...
Android客户端发送请求中文乱码问题完美解决
android短信发送实例,基于android的短信发送实例,需要添加权限duan
android发送短消息[归纳].pdf
android后台发送邮件
NULL 博文链接:https://wcf1987.iteye.com/blog/1292509
android发送AT命令代码 发送AT命令获取想要的信息,或者做一些其他事
Android UDP 发送端实例,简洁易懂,新手交流学习
android实现发送表情功能,代码非常简洁。
Android串口发送接收demo,开源的jni打开串口,接收与发送,代码简单明了
利用android开发短信发送程序,实现两个模拟器之间发送信息,文章详见 http://blog.csdn.net/cndrip/article/details/7170830
Android实现自动发送邮件的功能,需要用户填写好自己的邮箱地址和密码才能自动发送。并且在邮箱里开通第三方的smtp的访问权限。
android发送json数据
android在后台发送邮件,悄悄的哦。。。不过需要网络。
android 定时发送短信(新) android 手机定时发送短信程序,支持2.2以上版本。功能:即时发送短信,定时发送短信,取消定时发送,拨号,自动搜索联系人,此次修补上次出现的bug。
Android短信发送功能实现技巧分享 Android短信发送功能实现技巧分享
android实现后台发送邮件和调用第三方程序发送邮件
Android 模拟按键,实现按键发送消息