j2me polish snapshotscreen

时间:2012-06-03 02:26:37

标签: java-me j2mepolish

我正在尝试使用手机的相机拍摄带有以下代码段的图片

        snapShotScreen = new SnapshotScreen( "Snapshot" );
        snapShotScreen.addCommand(cmdBack );
        snapShotScreen.addCommand(cmdCapture);
        snapShotScreen.setCommandListener( new ThreadedCommandListener( this ) );
        this.display.setCurrent(snapShotScreen);

我得到一个返回的空值。我的目标设备是nokia / 2700_classic,具有mmapi功能,我仍然不明白为什么它不起作用。有人有任何建议吗?

1 个答案:

答案 0 :(得分:0)

FYI,

要使Android相机正常工作,您需要编辑MidletBridge.java文件。 您将找到此文件:

J2ME-Polish_Root \ j2mepolish-SRC \ J2ME \ SRC \德\足够\抛光\机器人\的midlet \ MidletBridge.java

您需要在两个方法(在MidletBridge活动中)以及公共字节[]中添加通用的Android摄像头代码,以便在拍摄照片后检索数据,单击保存并设置byte []图像:

MidletBridge.java file:

public byte[] imagebytearray = null;

public void startCameraIntent(){
        Intent i = new Intent("android.media.action.IMAGE_CAPTURE");
        startActivityForResult(intent, 10121);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode) {
            case 10121: 
                imagebytearray = (byte[]) data.getExtras().get("data");
                break;
        }
}

完成此操作后,您需要通过调用

在j2me打磨应用程序中的任何位置实例化MidletBridge
de.enough.polish.android.midlet.MidletBridge m = new de.enough.polish.android.midlet.MidletBridge();
m.startCameraIntent();
//I couldnt remember if the code continues here after you have taken the picture
byte[] img = m.imagebytearray;
//If the code doesnt pause here, you can just use a button to retreive the image or store the 
//image within the RMSStorage -- need some more code for that -- and then retreive it that way.

我希望这会对某人有所帮助,因为我已经花了好几周才到这里。我的应用程序运行良好并被出售。我丢失了源代码,否则所有J2ME-Polish用户都会非常高兴。与Blackberry,nokia,android以及windows ce合作。

BTW ..那时我已经将整段代码发送给了J2ME-波兰人,并且看起来并没有发布它。如果你真的想要所有的来源......去打扰他们。