`
chrnc
  • 浏览: 9709 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

launch j2me app from symbian c++ app , midlet-push

阅读更多
please google 'midlet-push' for detail.

其他工程调用j2me工程的问题:数据传递,动态启动一个j2me工程。

以下是j2me工程 中jad文件中需加入的code,目的是静态注册目标MIDlet,以供其他程序通过socket方式使其启动。

1)MIDlet-Push-1: socket://:4567, MainMIDlet, *
2)MIDlet-Permissions: javax.microedition.io.PushRegistry,javax.microedition.io.Connector.socket


调用程序这里为 Symbian c++ 目标代码如下:
void CLocalIPgAppUi::connectL()
	{
	TInt8 err = EFalse;

	RSocketServ   ss; 
	RSocket   sock; 
	TRequestStatus   status; 
	err = ss.Connect(); 
	CleanupClosePushL(ss); 
	err = sock.Open(ss,KAfInet,KSockStream,KProtocolInetTcp); 
	CleanupClosePushL(sock); 

	TInetAddr destAddr; 
	destAddr.SetFamily(KAfInet); 
	destAddr.SetPort(4567); 
         //destAddr.SetAddress(INET_ADDR(152,25,45,8));//调用152.25.45.8 这个ip上的目标程序。

	destAddr.SetAddress(KInetAddrLoop);//127.0.0.1
	sock.Connect(destAddr,status); 
	
}






这样在调用了connectL方法的时候就会自动的启动j2me工程了。
当然,这个j2me工程可以位于同一个symbian 平台(本机),也可以位于不同的symbian 系统上(其他机器)。


这样的确可以从symbian c++启动一个 j2me程序,但是还有一些问题,
我这样写后,c++程序只要调用了这个connectL的时候,的确是启动了j2me程序,但是c++
程序本身却关闭了,我暂时找不到原因,我不希望c++和j2me程序同事运行,请大家帮忙解决。





1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics