【求助】一个简单的程序在模拟器上运行没问题,装在手机上就不行。

问题描述

初学JavaME,为了通过JavaME应用手机蓝牙功能,编写了一个最简单的获得本地设备信息的程序。在Eclipse中使用WTK模拟器能正常运行,打包后在手机上可以安装成功,但是程序就不能运行了,请高手帮忙。程序代码如下:importjavax.bluetooth.BluetoothStateException;importjavax.bluetooth.DeviceClass;importjavax.bluetooth.LocalDevice;importjavax.microedition.lcdui.Display;importjavax.microedition.lcdui.Form;importjavax.microedition.midlet.MIDlet;importjavax.microedition.midlet.MIDletStateChangeException;publicclassGetLocalDeviceextendsMIDlet{privateDisplaydisplay=null;publicFormform=newForm("获得本地设备信息");publicGetLocalDevice(){super();//TODO自动生成构造函数存根}protectedvoidstartApp()throwsMIDletStateChangeException{display=Display.getDisplay(this);display.setCurrent(form);LocalDevicelocaldev=null;try{localdev=LocalDevice.getLocalDevice();}catch(BluetoothStateExceptione){form.append("错误:不能访问本地设备n");System.out.println("错误:不能访问本地设备");return;}form.append("发现模式:"+localdev.getDiscoverable()+"n");System.out.println("发现模式:"+localdev.getDiscoverable());if(localdev.getDiscoverable()==10390323){form.append("发现模式:GIACn");System.out.println("发现模式:GIAC");}form.append("找到本地设备n");System.out.println("找到本地设备");form.append("名字:"+localdev.getFriendlyName()+"n");System.out.println("名字:"+localdev.getFriendlyName());form.append("地址:"+localdev.getBluetoothAddress()+"n");System.out.println("地址:"+localdev.getBluetoothAddress());form.append("设备类为:n");System.out.print("设备类为:");DeviceClassdevcla=localdev.getDeviceClass();form.append(devcla.toString());System.out.println(devcla.toString());form.append("服务类:"+devcla.getServiceClasses()+"n");System.out.println("服务类:"+devcla.getServiceClasses());form.append("主设备类:"+devcla.getMajorDeviceClass()+"n");System.out.println("主设备类:"+devcla.getMajorDeviceClass());form.append("辅设备类:"+devcla.getMinorDeviceClass()+"n");System.out.println("辅设备类:"+devcla.getMinorDeviceClass());listProperties();}privatevoidlistProperties(){form.append("n蓝牙系统属性n");System.out.print("n蓝牙系统属性");//Stringp=LocalDevice.getProperty("bluetooth.sd.attr.retrievable.max");Stringp=LocalDevice.getProperty("bluetooth.api.versionn");if(p!=null){form.append("蓝牙API版本:"+p+"n");System.out.println("蓝牙API版本:"+p);}p=LocalDevice.getProperty("bluetooth.master.switch");if(p!=null){form.append("是否允许主/从设备切换:"+p+"n");System.out.println("是否允许主/从设备切换:"+p);}p=LocalDevice.getProperty("bluetooth.sd.attr.retrievable.max");if(p!=null){form.append("支持的链接设备的最大值:"+p+"n");System.out.println("支持的连接设备的最大值:"+p);}p=LocalDevice.getProperty("bluetooth.sd.trans.max");if(p!=null){form.append("同时进行服务发现处理的最大值:"+p+"n");System.out.println("同时进行服务发现处理的最大值:"+p);}p=LocalDevice.getProperty("bluetooth.l2cap.receiveMTU.max");if(p!=null){form.append("L2CAP最大接收单元:"+p+"n");System.out.println("L2CAP最大接收单元:"+p);}p=LocalDevice.getProperty("bluetooth.connected.inquiry.scan");if(p!=null){form.append("在连接状态是否可以进行质询扫描:"+p+"n");System.out.println("在连接状态是否可以进行质询扫描:"+p);}p=LocalDevice.getProperty("bluetooth.connected.page.scan");if(p!=null){form.append("在连接状态是否可以进行页扫描:"+p+"n");System.out.println("在连接状态是否可以进行页扫描:"+p);}p=LocalDevice.getProperty("bluetooth.connected.inquiry");if(p!=null){form.append("在连接状态是否可以进行质询:"+p+"n");System.out.println("在连接状态是否可以进行质询:"+p);}p=LocalDevice.getProperty("bluetooth.connected.page");if(p!=null){form.append("是否可以连接到另外一个已经连接的设备:"+p+"n");System.out.println("是否可以连接到另外一个已经连接的设备:"+p);}}protectedvoidpauseApp(){//TODO自动生成方法存根}protectedvoiddestroyApp(booleanarg0)throwsMIDletStateChangeException{//TODO自动生成方法存根}}

解决方案

解决方案二:
我想问下你的程序大概走到哪一步了,还是起动都起不了啊
解决方案三:
回复1L:是启动都启动不了。
解决方案四:
你可以先试试双击JAD文件,看看模拟器能否正常启运这个程序。
解决方案五:
换个模拟器试试,如果有问题可以快速定位
解决方案六:
多数是因为jad没配置好
解决方案七:
是装不上么?还是装上无法运行
解决方案八:
程序不能运行,有可能是你的bluetooth包里的东西不支持手机。改成相应的手机提供商的bluetooth包试一下。
解决方案九:
引用3楼prince58的回复:

你可以先试试双击JAD文件,看看模拟器能否正常启运这个程序。

可以正常运行JAD。
解决方案十:
引用5楼tiewantn的回复:

多数是因为jad没配置好

JAD配置如下:MidletJarURL:example5.jarMidletName:example5MidletSuiteMidletVendor:MidletsuiteVendorMidletVersion:1.0.0MicroeditionConfiguration:CLDC1.1、CLDC1.0都试过,都不行。MicroeditionProfile:MIDP2.0、MIDP1.0都试过,也是都不行。
解决方案十一:
引用6楼fanyuanwai的回复:

是装不上么?还是装上无法运行

可以安装装上后无法运行。
解决方案十二:
我试过了,在我自己的手机motorolaE2上能运行,在诺基亚,山寨机上不能运行。估计还是我之前回答的那样
解决方案十三:
是不是版本的事啊

时间: 2024-09-27 05:29:29

【求助】一个简单的程序在模拟器上运行没问题,装在手机上就不行。的相关文章

iOS程序在模拟器上无法运行,报错126

问题描述 iOS程序在模拟器上无法运行,报错126 .../Pods/Target Support Files/Pods/Pods-resources.sh: /bin/sh: bad interpreter: Operation not permitted Command /bin/sh failed with exit code 126 解决方案 iOS 模拟器运行报错 解决方案二: * ## 首先你要确定是程序问题还是模拟器问题.这样:新建一个iOS项目,直接运行,如果能正常运行,就说明模

我的j2me程序在模拟器上能运行,手机上就不行了

问题描述 我刚学j2me不久,我的一个程序在模拟器上还能运行,在手机上就不行了,我用的手机是nokia的e71安装时显示不兼容,用三星的调试又显示无效文案,请多多指教 解决方案 在工程下找到那个jad文件,注意以下内容:MicroEdition-Configuration: CLDC-1.0MicroEdition-Profile: MIDP-2.0MIDlet-1: 你的Midlet名如MyMidlet,,你的Midlet名完整路径如com.abc.MyMidlet解决方案二:打包的时候选择c

app-我用activity启动了一个服务在模拟器上正常,但在真机上的RUN中找不到该服务是怎么回事?

问题描述 我用activity启动了一个服务在模拟器上正常,但在真机上的RUN中找不到该服务是怎么回事? 我在activity中startService了该服务,退出activity后查看后台进程提示0个程序1个服务,但用代码检查该服务时提示该服务已经启动,这是怎么回事啊??在模拟器上运行一切正常,但在真机上却看不到该服务,我这个服务到底启动起来没有啊?然后让服务做的事情在模拟器上会做,在真机上却不会做,这是怎么回事啊?? 解决方案 有些手机定制的系统会自动杀死一些在后台活动的不属于系统级别的服

求如何用JAVA来做一个简单的程序????急。。。

问题描述 我想用JAVA开发一个简单的读磁条卡上的信息的程序,磁条卡上有卡号,积分等信息,刷卡机与电脑的USB口相连.请大家帮忙呀.如可以解决,我再额外给分. 解决方案 解决方案二:听气啦挺难的哟.你这功能不都是人家的POS系统了吗?????解决方案三:刷卡机应该要提供相关的API吧?不然你怎么获得刷卡机刷出的相关信息?或者刷卡机应该有个自带的软件的那个软件有没有相关的API如果都不提供,怎么编程啊--解决方案四: 解决方案五:难道楼主的意思刷卡机也要自己做?OMG...解决方案六:没看太明白,

makefile-在linux写的一个简单的程序 编译不能通过 求大神给看看

问题描述 在linux写的一个简单的程序 编译不能通过 求大神给看看 解决方案 总共有3个文件 test.h test.cpp main.cpp; 在main.cpp内部调用test类实现的方法,执行make命令后,可以生成test.o和main.o但是好像链接的时候有问题, 不能生成目标问题 解决方案二: 找出问题来了 是makefile文件写的有问题 编译应该使用g++ 代码有问题的地方 希望各位指正 解决方案三: 提示信息是函数没有定义,链接返回错误.

for-link一个简单的程序,输出结果为什么不对?谢谢

问题描述 link一个简单的程序,输出结果为什么不对?谢谢 public static void Main() { for (int i=1;i<=100;i++) { for(int j=2;j<i;j++) { if (i % j != 0) Console.WriteLine(i); } } } 解决方案 求素数? public static void Main() { for (int i=2;i<=100;i++) { bool bPrime = true; for(int j

java代码-一个简单java程序,用链表实现多项式相加

问题描述 一个简单java程序,用链表实现多项式相加 public class Literal { private int coefficient; private int exponent; Literal next = null;// 默认是null public Literal() { this(0, 0); } public Literal(int coefficient, int exponent) { setCoe(coefficient); setExp(exponent); th

c ++-求一个简单的程序,vc6.0

问题描述 求一个简单的程序,vc6.0 哪位能给我提供一个画图程序吗?vc6.0能直接粘贴上去运行的.就画几条线几个矩形就好,非常感谢. 解决方案 创建个MFC工程,在OnPaint里面贴下面的代码 CRect r; GetClientRect(&r); //获得当前窗口对象 int beginX,beginY; //开始的坐标 int endX,endY; //终点的坐标 CPaintDC dc(this); //绘图对象 dc.FillSolidRect(&r, RGB(100,100

《企业级ios应用开发实战》一2.6 在模拟器上运行应用程序

2.6 在模拟器上运行应用程序 在Xcode 4.2的顶部工具栏中,找到Scheme按钮.从该按钮的下拉菜单中选择"iPhone 5.0 Simulator",如图2-27所示. 提示:如果Xcode 4.2的工具栏未显示,请选择菜单"view→Show Toolbar". 然后点击工具栏中的Run按钮(快捷键+R),会启动iPhone模拟器界面,并通过iPhone模拟器来运行我们的My_First_iPhone_App应用程序(如图2-28所示).