「jsWaffle」バグ報告&意見掲示板

jsWaffleのバグや意見を報告する掲示板です。
[一覧へ] > (@27) [中] [調査中]
@27■ (#64) pickupImageFromGalleryのコールバックが呼び出せない - uchitomo (2011-07-23 17:46) /中 確認待ち
【症状】
droid.pickupImageFromGallery(callback)でギャラリーから写真を選択した際、
flags.mainHtmlUrlで設定した画面に遷移してしまい、コールバックが呼ばれなくなりました。

写真選択の前後でプロセスIDが変わっていることを確認しました。
WEBVIEWも再起動しているようです。


※本文最下部のエラーログと、ログ埋め込み箇所を参照ください。

【再現方法】
同一ソースでpickupImageFromGalleryを呼び出した際に、5回に1回程度の頻度で再現されます。

※本文最下部のエラーログと、ログ埋め込み箇所を参照ください。

【要望】
上記1から順に希望する解決策です。

(1)プロセスの変更が行われない状態になること
(2)コールバックを呼び出せる状態になること
(3)なんらかの形で、選択した写真のURIが取得できること


【バージョン】
1.180

【その他】
「アプリ開発ガイドブック」を買ってjsWaffleの存在を知りました。
jsWaffleでまったくの素人の自分でもAndroidアプリを作れていることに、感謝です。

これからも、よろしくお願いします。

【端末】
GaraxyS OS 2.3.3


【エラーログ】
07-23 16:13:57.964: DEBUG/jsWaffle(13727): onPause
07-23 16:13:57.995: DEBUG/jsWaffle(13727): droid._addEventListener(0)
07-23 16:13:58.015: DEBUG/jsWaffle(13727): droid:pause
07-23 16:14:01.843: DEBUG/jsWaffle(13727): onActivityResult:16711683,-1
07-23 16:14:01.843: ERROR/jsWaffle(13727): onActivityResult:16711683,-1,Intent { dat=content://media/external/images/media/1919 }
07-23 16:14:01.843: ERROR/jsWaffle(13727): onActivityResult2:content://media/external/images/media/1919
07-23 16:14:01.843: ERROR/jsWaffle(13727): onActivityResult3:
07-23 16:14:01.843: DEBUG/jsWaffle(13727): droid._pickupImageFromGallery('content://media/external/images/media/1919')
07-23 16:14:01.855: DEBUG/jsWaffle(13727): onResume
07-23 16:14:01.855: DEBUG/jsWaffle(13727): droid._addEventListener(1)
07-23 16:14:05.136: DEBUG/jsWaffle(13727): droid:resume
07-23 16:14:07.980: DEBUG/jsWaffle(13727): onPause
07-23 16:14:08.421: DEBUG/jsWaffle(13727): droid._addEventListener(0)
07-23 16:14:08.421: DEBUG/jsWaffle(13727): droid:pause
07-23 16:14:09.280: DEBUG/jsWaffle(13727): onActivityResult:2,0
07-23 16:14:09.284: ERROR/jsWaffle(13727): onActivityResult:2,0,null
07-23 16:14:09.284: DEBUG/jsWaffle(13727): null(0, null)
07-23 16:14:09.300: DEBUG/jsWaffle(13727): droid._startIntentForResult_callback(2,0)
07-23 16:14:09.300: DEBUG/jsWaffle(13727): onResume
07-23 16:14:09.300: DEBUG/jsWaffle(13727): droid._addEventListener(1)
07-23 16:14:10.132: DEBUG/jsWaffle(13727): droid:resume
07-23 16:14:12.277: DEBUG/jsWaffle(13727): onPause
07-23 16:14:12.331: DEBUG/jsWaffle(13727): droid._addEventListener(0)
07-23 16:14:12.347: DEBUG/jsWaffle(13727): droid:pause
07-23 16:14:19.050: DEBUG/jsWaffle(15896): onActivityResult:16711683,-1
07-23 16:14:19.054: ERROR/jsWaffle(15896): onActivityResult:16711683,-1,Intent { dat=content://media/external/images/media/1569 }
07-23 16:14:19.054: ERROR/jsWaffle(15896): onActivityResult2:content://media/external/images/media/1569
07-23 16:14:19.054: ERROR/jsWaffle(15896): onActivityResult3:
07-23 16:14:19.054: DEBUG/jsWaffle(15896): onResume
07-23 16:14:19.066: DEBUG/jsWaffle(15896): null('content://media/external/images/media/1569')
07-23 16:14:19.120: DEBUG/jsWaffle(15896): onPageStarted:file:///android_asset/www/index.html
07-23 16:14:22.089: DEBUG/jsWaffle(15896): onPageStarted:file:///android_asset/www/home.html

※1回目はコールバック成功、2回目で失敗しています。


【エラーログ埋め込み箇所】
//IntentPlugin.java
  public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    String param;
    waffle_activity.log_error("onActivityResult:" + requestCode + "," + resultCode + "," + intent + "," + intent_startActivity_callback_gallery);
    if (requestCode == ACTIVITY_REQUEST_CODE_BARCODE && intent_startActivity_callback_barcode != null) {
      String contents = "";
      String format = "text";
      if (intent != null) {
        contents = intent.getStringExtra("SCAN_RESULT");
            format = intent.getStringExtra("SCAN_RESULT_FORMAT");
        if (contents != null) contents = URLEncoder.encode(contents);
      }
          param = intent_startActivity_callback_barcode + "('" + contents + "','" + format + "')";
      waffle_activity.callJsEvent(param);
    } else if (requestCode == ACTIVITY_REQUEST_CODE_GALLARY) {
      String fname = intent.getData().toString();
      waffle_activity.log_error("onActivityResult2:" + fname + "," + intent_startActivity_callback_gallery);

          param = intent_startActivity_callback_gallery + "('" + fname + "')";
      waffle_activity.callJsEvent(param);
      //waffle_activity.log_error("onActivityResult3:" + "," + intent_startActivity_callback_gallery);
    } else if (
      requestCode == IntentHelper.request_code && 
      (IntentHelper.last_intent_type == MediaStore.ACTION_IMAGE_CAPTURE ||
          IntentHelper.last_intent_type == MediaStore.ACTION_VIDEO_CAPTURE)
    ) {
      cameraResult(requestCode, resultCode, intent);
    } else {
      if (intent_startActivity_callback == null) return;
      param = intent_startActivity_callback + "(" + requestCode + "," + resultCode + ")";
      waffle_activity.callJsEvent(param);
    }
  }






(#65) 調べてみます - クジラ飛行机 (2011-07-23 23:19) /中 調査中
細かく調べてくださり、ありがとうございます。
調査してみます。

(#64)へ返信する:

名前
タイトル
本文
優先度
状態
確認キー お手数ですが、いたずら防止のために、「携帯」の読み方を記入してください。
編集キー 編集時に使うキーを入力(省略可能)
添付ファイル 画像ファイル(最大300KB)を添付可能