本次Android开发网将直接公开所有中文短信终结篇方法,整个分析过程很简单。
1.分析开源的platform/frameworks/base.git该文件可以查看详细的Telephony.gsm底层构架,可以查看telephony/java/com/android/internal/telephony/gsm这个文件,当然Google未来解决多国问题已经在Cupcake更新逐渐的改进了,比如台湾繁体中文的实现。我们直接打开ISms.aidl文件可以看到
2.使用Android 0.9 SDK的android.jar文件编译包含internal库。最新的Android SDK 1.0r1和r2反而越来越不开放了对于开发人员,网友可以在Android SDK 0.9 beta测试版发布和下载 中找到下载链接。
3.因为作为一个aidl的接口,这里我们直接使用方法来发送就可以了,这里的sendRawPdu第一个参数为短信服务中心,使用默认的null即可,第二个为我们自己构造的ucs2编码的pdu字节数组就可以解决unicode问题,不要忘了调用远程服务需要捕获RemoteException异常。简写的Java代码如下:
try{
ISms.Stub.asInterface(ServiceManager.getService("isms")).sendRawPdu(null,unicodes,null,null);
}
catch(RemoteException e)
{
e.printStackTrace();
}
4.加入必要的短信发送权限,可以查看Android权限列表permission说明一文。
最终完整的工程源代码www.android123.com.cn稍后提供下载(包含中文输入法).
RSS