如何使用JSR 211 CHAPI(内容处理程序API)打开文件

时间:2010-01-30 14:05:10

标签: java-me midlet

请注意,这是关于MIDlet的问题,即Java ME(不是“普通”Java SE)。

我正在寻找使用JSR 211在手机上调用内容的正确方法,即CHAPI - 内容处理程序API。我总是在下面的代码中找到IOException。我正在运行的手机支持JSR 211(它是索尼爱立信C902)。

doInvoke("file:///e:/jpgimage.jpg"); //earlier in the code

void doInvoke(final String url) {
    (new Thread() {
        public void run() {
            try {
                Registry registry = Registry.getRegistry(this.getClass().getName());
                Invocation invoc = new Invocation(url);
                invoc.setAction(ContentHandler.ACTION_OPEN);
                boolean mustExit = registry.invoke(invoc);
                if (mustExit) {
                    notifyDestroyed();
                } else {
                    // stay put
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }).start();
}

1 个答案:

答案 0 :(得分:1)

仅仅因为手机支持CHAPI,并不意味着它可以专门处理通过Java“file://”URL访问的.jpg文件。

当手机制造商直接确认它完全支持您要执行的操作时,您应该只使用CHAPI。

对于C902,您可能最好尝试将.jpg网址(或者看起来更像“/memorycard/jpimage.jpg”的内容,即不是Java URL本身)发送到内容-Handler-ID手机媒体中心。