[b]转自[/b]:[url]http://blog.kenyang.net/2010/12/android-connect-to-msn-jml.html[/url]

JML,Java MSN Messenger Library,一套比较成熟的实现MSN功能的第三方包。
在J2SE的環境下使用非常好整合。

BUT...要整合至ANDROID中會有幾個小問題。
第一:會少了一個GetPropertyAction的CLASS
第二:JML裡用的SSL是採取SSLv3,但是android只能支援TLS
第三:一樣會少了一個DatatypeFactory這個CLASS

解決方法就是
直接去找到JML的source code,直接拿它來做修改,而不是直接去拿jar來用。

為了解決第一部,
我們可以在網路上找到人家寫好的這個class(GetPropertyAction)
來這下載[url]http://jcs.mobile-utopia.com/jcs/2154_GetPropertyAction.java[/url]
下載好以後,記得放在package名稱為sun.security.action的底下(java文件内的package记得也要修改哦)

解決第二個方法就是
去下載JML的SOURCE CODE
來這下載[url]http://sourceforge.net/projects/java-jml/files/java-jml/jml-1.0b4/[/url]
(是載.ZIP檔案喔,這樣才會有SOURCE CODE)
下載完成後,把src資料夾底下的net通通拉進來我們的project裡面

找到net.sf.jml.protocol.soap.ContactList的class
打開以後找到下面那行CODE

SSLContext sc = SSLContext.getInstance("SSLv3");

把它改成下面那行CODE

SSLContext sc = SSLContext.getInstance("TLS");


至於第三個解決方式,
目前是先把ANDROID SDK設為2.2后就有支援DatatypeFactory。

接著來寫連結至msn的code了。
其實很簡單,你只要克服上面的問題,CODE應該就難不倒你。

try {
final String email = "msn帳號";
final String password = "您的密碼";
final MsnMessenger messenger = MsnMessengerFactory.createMsnMessenger(email,
password);

messenger.getOwner().setInitStatus(MsnUserStatus.ONLINE);

//這邊一定要用thread去執行登入
Thread thread = new Thread(new Runnable() {
public void run() {
messenger.login();
}
});

thread.start();


} catch (Exception e) {
Log.d("msn",e.toString());
}


這樣就完成了MSN登入了。
至於怎麼截取聯絡人清單,只要您解決上面那三個問題
則擷取連絡人,就不是問題了。

更多相关文章

  1. android Dialog大小修改
  2. Android(安卓)触摸提示音
  3. 从 Android(安卓)Sample ApiDemos 中学习 android.animation API
  4. android源码下载方式
  5. 修改android系统和watchdog的延时
  6. Android(安卓)屏幕设置
  7. android.support.v7使用,出错处理
  8. Android修改字体样式
  9. exp: 修改Android中strings.xml文件, 动态改变数据

随机推荐

  1. 如何编写高效的Android代码
  2. 浅析Android(安卓)View(一)
  3. Glide详细了解优缺点
  4. DynamicAPK基本概念
  5. Android手机开发总结
  6. Java内部类精炼详解—由Android点击事件
  7. 关于android UI布局自适应
  8. Android(安卓)UI优化之OverDraw
  9. 快速提高Android开发效率的Web工具
  10. 第三部分:Android(安卓)应用程序接口指南-