iアプリでブラウザを起動できないエラーの原因は?

このQ&Aのポイント
  • iアプリ実行中にキーを押すとアプリが終了し、指定したURLに繋がる処理を作りたいが、エラーが発生している。
  • Doja4.1で実行するとセキュリティエラーが表示され、エラーの原因はUseBrowserキーがADFに見つからなかったことである。
  • エラーの対処方法やよくある原因・解決策について質問したい。
回答を見る
  • ベストアンサー

iアプリ アプリからブラウザを起動できない

iアプリ実行中にあるキーを押すとアプリを終了しiモードで指定されたURLに繋がる処理を作りたいのですが、下記のソースを実機で試したところ「エラーが発生しました」と表示され強制終了してしまいます。 ***************************************************** switch(param){ case Display.KEY_SOFT1:   IApplication.getCurrentApp().launch(IApplication.LAUNCH_BROWSER,   new String[]{"http://~~.html"});   break; } ***************************************************** Doja4.1で実行するとコンソールにエラーらしき文字が表示されます↓ Main :java.lang.SecurityException: UseBrowser key not found in ADF test.Test java.lang.SecurityException: UseBrowser key not found in ADF java.lang.SecurityException: UseBrowser key not found in ADF 原因は何なのでしょうか?

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • PED02744
  • ベストアンサー率40% (157/390)
回答No.1

ADFが正しくないだけではないでしょうか。 http://www.geocities.jp/java_iappli/java98.htm によると、 iアプリからブラウザを起動  ・IApplication.launch()メソッドでURLを指定  ・ADFのUseBrowserキー:"launch"を設定 らしいですよ? iアプリは作ったことがないのですが。

ikepan
質問者

お礼

ADF設定のiアプリからブラウザを利用するかどうかのフラグをoffになっていたのでonにすると解決しました。iアプリ作成経験がないにもかかわらず的確な回答をどうもありがとうございます。

関連するQ&A

  • iアプリのブラウザ起動について

    はじめまして。 JAVAでiアプリの開発をしているのですが、わからないことがありますので、 ぜひお力添え願えませんでしょうか。ちなみに、JAVAでの開発は初めてです。 <開発環境> doja5.1 eclipse windows XP <質問> iアプリ起動時に、外部からUART通信にてHTMLデータを受信します。 受信したHTMLデータは、スクラッチパッドに格納します。 その後、スクラッチパッド上に格納したHTMLデータを読み込んで、ブラウザで起動したいのですが、 ここでブラウザの起動がうまくいっていません。 以下のようなコードでやってみましたが、うまくっていません。 launch(LAUNCH_BROWSER,           new String[]           {"scratchpad:///0;pos=0"}); や launch(LAUNCH_BROWSER,           new String[]           {"<HTML>~~~</HTML>(HTMLデータを埋め込み)"}); などしてみましたが、うまくいかず・・・。 ほかの方法があるかとネットや書籍を探して見ましたが、そういった類のコードが 見当たらなかったため、質問させていただいております。 このようなことができるのかもわからないまま開発しております。 どうかお力を貸してください。

    • ベストアンサー
    • Java
  • iアプリ Tomcatと連携

    前回の質問は、分かりづらいようなので新たに質問させていただきます。 現在、TomcatとiアプリDoja_Ver5.1、MySQLを使いDojaの方からTomcatへアクセスしTomcatからMySQLのデータを取りDojaの方へ表示させたいのですが、下記の文で何度やっても「java.lang.SecurityException: Illegal host」と出てしまいできません。 ADFファイルである、Jamファイルは、Jarファイルと同じ場所にあるので、PackageURLには「dosei_jisaku.jar」としか記述していません。 何故か、java.lang.SecurityException: Illegal hostが出て解決策も見出せずでいます;; public class dosei_jisaku extends IApplication { public void start() { mypanel wp_mypanel = new mypanel(); Display.setCurrent(wp_mypanel); } class mypanel extends Panel{ public mypanel() { add(new Label("項目名:")); TextBox w_name = new TextBox("",8,1,TextBox.DISPLAY_ANY); add(w_name); try { HttpConnection c = (HttpConnection)Connector.open("http://localhost:8080/mfs/mfs/test/dosei_jisakuSV"); ←同PCにあるTomcatのServlet(classファイル)へアクセスしています。 c.setRequestMethod(HttpConnection.GET); c.connect(); if(c.getResponseCode() != HttpConnection.HTTP_OK){ throw new IOException(); } InputStream is = c.openInputStream(); ByteArrayOutputStream os = new ByteArrayOutputStream(); for(;;){ int n = is.read(); if (n == -1) { break; } os.write(n); } String str = new String(); str = os.toString(); w_name.setText(str); os.close(); is.close(); c.close(); } catch(Throwable e) { w_name.setText("読込エラー" + e); } } } } どなたかアドバイスを頂けるようお願い致します…。

  • iアプリ 再初心者

    3年程前に一度だけiアプリをつくったことがあります。 EclipseもDoJaもJavaもバージョンがあがって最初からつまずいてます。 簡単なコードも「実行」できません。 Javaの環境変数をどうのように設定するのでしょうか? Windows+Vista DoJa5.1 Eclipse3.1 j2re1.4.2_16 初心者用のサイトはありませんか? Eclipse3.1の設定がよくわかりません。

    • ベストアンサー
    • Java
  • iアプリ 複数パネル切替時の変数受渡(再度)

    すみませんが、再度質問です。 パネルを切替えると、変数が書換えられてません。 import com.nttdocomo.ui.*; public class TEST01 extends IApplication { MainCanvas mc; MainPanel mp; public void start() { mc = new MainCanvas(); mp = new MainPanel(); Display.setCurrent(mc); } } class MainCanvas extends Canvas{ TEST01 app; int data; public MainCanvas() { data=1; //----- data=1 Graphics g=getGraphics(); app = (TEST01)IApplication.getCurrentApp(); } public void paint(Graphics g) { data=2; // ここでdataを書換えてるのに・・・・ g.drawString("data="+data,100,100); g.drawString("セレクトキーで画面切替",50,200); } public void processEvent(int type, int param) { if (type == Display.KEY_PRESSED_EVENT) { if (param == Display.KEY_SOFT2) { IApplication.getCurrentApp().terminate(); } if (param == Display.KEY_SELECT) { Display.setCurrent(app.mp); } } } } class MainPanel extends Panel implements ComponentListener{ TEST01 app; Button b1; Label l1; public MainPanel() { app=(TEST01)IApplication.getCurrentApp(); l1=new Label("data="+app.mc.data); //書換えたdata=2にならないのはなぜ? b1=new Button("Push me"); add(l1); add(b1); setComponentListener(this); } public void componentAction(Component c,int type, int param){ if (c == b1 && type == BUTTON_PRESSED) Display.setCurrent(((TEST01)IApplication.getCurrentApp()).mc); } } data=1だったのをdata=2にしたのに、1のままです。

    • ベストアンサー
    • Java
  • eclipse + Doja でブラウザからのiアプリ起動で、起動するためのhtmlはどこで指定すれば…?

    【eclipse2.1.2】を使い【Doja3.5】でiアプリの作成をしています。 作成したiアプリをブラウザから起動したいので、 実行時に【launchtype】を【ブラウザ起動】に指定するのですが、ブラウザが起動しません…。 (起動テスト用の仮のhtmlは作成してあります。) 起動用の仮のhtmlを指定するところがわからないので、 起動しなくて当然といえば当然なのですが…。 起動用のhtmlはどこで指定すればよいのでしょうか? 識者のかた、お教えください。m(_ _*)m

  • (DoJa)アプリのバージョンアップ確認をプログラム側で行いたい

    DoJa3.0にてゲームアプリを作成しています。 そのアプリにはネットランキングがあり、週単位でスコア上位10名がサーバーに登録されています。アプリ起動毎にネット接続し上位10名のスコアをダウンロードしてアプリ側で表示させています。 しかしゲームのバージョンをアップしていくと稀にゲームの仕様が微妙に変わったりしますので、ランキング制ゆえできれば全員が常に最新バージョンのアプリにしてもらいたいのです。(更新頻度も少なくアプリ本体のみならばサイズはあまり大きくないので) そこでアプリ起動時のネットに接続する際のついでに、携帯の保存されているアプリのバージョンを、サーバーにある最新のアプリのバージョンと比較し、 携帯のほうが古ければバージョンアップを促す、ということができないかと考えているのですが、こういったことは可能なのでしょうか? (つまりADFのAppVerを取得したい) バージョンアップができるかどうかというのは IApplication.launch()メソッドに「LAUNCH_VERSIONUP」 を渡すことで自動的に確認できなくもないですが、アプリ起動毎にバージョンアップ確認を促すのもうざいと思いますので、バージョン比較部分をプログラム(DoJa)側(ユーザには見えない部分)で自動的に行いたいのです。 もしも、この方法が可能でしたら、ご存知の方がおられましたらアドバイスをいただけると嬉しく存じます

    • ベストアンサー
    • Java
  • EclipseでIアプリを起動したら、エミュレータが起動されません。

    EclipseでIアプリの制作を行っているのですが、設定がおかしかったのか実行時にエミュレータが強制終了されます。 プログラムでのエラーは無く、他からコピペしてきたhelloworldのプログラムでも同様のことが起こります。 何か原因に心当たりがある方は回答よろしくお願いいたします。 eclipseのバージョン:3.4.2 jdk:1.6,jre6 DOJA:5.1(eclipse用にカスタム)

    • ベストアンサー
    • Java
  • iアプリとサーブレットの連動(eclipse)

    はじめまして、java初心者の者です。 現在私は、eclipseを使って、iアプリ開発に挑戦しています。 その中で、iアプリとサーブレットを連動させる方法が分からず、困っています。 iアプリ上の画面で、aと入力してサーブレットに送ると、サーブレットでテキストデータを書き換え、Aに変更して送り返すという、本当に初歩的な動作を試したいのですが、上手く連動してくれません。 ネット上のサンプルソースを丸写しで使っても動かないため、おそらく設定やファイルの置き場所、接続先の記述などに問題があるのだと思います。 インターネット等でいろいろと情報を集めてみたのですが、そもそもeclipseの中でDoJaプロジェクトを作成した場合、サーブレットを使うにはどのような設定が必要なのか、またデータはどのフォルダへ保存するべきなのかといった基礎的な情報が収集できず、困っています。 tomcatプロジェクトを作成し、その中でjspとサーブレットを連動させるテストは成功したのですが、DoJaプロジェクトではweb.xmlファイルを作らなくていいのか?など、本当に基礎的な部分が全く理解できていません・・・。 また、以下がネット上で拾ったサンプルコードです。 同じフォルダにあるサーブレット(Test)と連動させたいと思っているのですが、下記に何か間違いはないのでしょうか? ---------------------------------------------------------------- import com.nttdocomo.ui.*; import java.io.*; import com.nttdocomo.io.*; import javax.microedition.io.*; public class A extends IApplication { public void start() { String res = http("servlet/Test?test=a"); showDialog(res); } void showDialog(String s) { Dialog d = new Dialog(0, "dialog"); d.setText("" + s); d.show(); } String http(String name) { String url = IApplication.getCurrentApp().getSourceURL(); url += name; String res = null; HttpConnection conn = null; try { conn = (HttpConnection)Connector.open(url, Connector.READ); conn.setRequestMethod(HttpConnection.GET); conn.connect(); InputStream in = conn.openInputStream(); int len = (int)conn.getLength(); byte[] buf = new byte[len]; int off = 0; for (;;) { int n = in.read(buf, off, len); if (n < 0) throw new Exception(); off += n; len -= n; if (len == 0) break; } in.close(); conn.close(); return new String(buf); } catch (Exception e) { try { conn.close(); } catch (Exception e2) { } } return null; } } --------------------------------------------------------------- 本当に基礎的な質問で申し訳ありません。 どなたかご存知の方がいらっしゃいましたら、何卒よろしくお願いいたします。 ※以下、私の環境をお伝えいたします。 ・eclipse3.1 ・DoJa-5.1 ・apache-tomcat-6.0.20

    • ベストアンサー
    • Java
  • 正常にビルドされたのに起動されません

    こんにちは。 私は現在、大学の卒業制作でiアプリを作っています。 問題が発生したので、どなたかご指導をお願いいたします。 i-appli Development Kitで、 --- ADFチェック 開始 --- --- ADFチェック 終了 --- --- ADF/トラステッド動作設定チェック 開始 --- --- ADF/トラステッド動作設定チェック 終了 --- と、正常にビルドされたにも関わらず、起動ボタンを押すと、 Main :java.lang.NullPointerException MainPage4 java.lang.NullPointerException at com.nttdocomo.ui.Panel.add(+17) at MainPage4.start(+7980) com.nttdocomo.ui.Panel というメッセージが表示され、エミュレータに何も映りません…。ちなみにMainPage4はプロジェクトのタイトルです。 なぜなのでしょうか?初心者ですので、どなたか分かりやすく教えてくださるとうれしいです!よろしくお願いします!

    • ベストアンサー
    • Java
  • iアプリの実機起動時に「ソフトに継続動作出来ない障害が発生しました」

    エミュレーター上では正常に動作するのですが、自分のケータイ(P703iν,Doja4.1対応)に自作アプリをダウンロードして起動したときに、「ソフトに継続動作出来ない障害が発生しました」というエラーがでて終了してしまいます。 トレースの結果↓ message=Uncaughtexception happened throwable=java.lang.NullPointerException throwableMessage= ちなみに友達のケータイでも試したのですが、P704i(Doja5.0)はエラー SO903i(Doja5.0)は正常に動作しました。メーカーや機種の違いなのでしょうか? 自分でも、原因究明のため下記のことを確認したのですがこれ以上に思いつくものがありません。 ・スクラッチパッドの容量オーバー P703iνのスクラッチパッド容量はjarファイルが100kbまで、jarファイル+リソースの上限が400kbなのに対し、jarファイルが69kb,resourceが88kbと明らかに余裕でした。ADFの設定は余裕を持って200kbにしました。 ・Threadを使ってるのが原因ではないか? Dojaだと、Threadはあまり推奨されていないようなので、com.nttdocomo.utilのTimerクラスで代用しましたが、おなじ結果になってしましました。 ・Doja4.1でサポートされてないAPIを使ってないか? 隅々まで確認しましたがみつかりませんでした。(商用目的のアプリなのでソースは公開できません) ・トレース内容でもあったように、nullのThrowable値をスローしてないか? 例外エラー時のスタックトレースデータなどをThrowable値として格納しているのではないかというのが自分の理解ですが、正直ここがよくわかりません。どなたかご教授してもらえるとありがたいです。。。