0

Androidのカメラアプリで写真を保存する方法について質問があります。次のような入力要素を含む HTML5 ファイルを作成しました。

<input type="file" accept="image/*;capture=camera" />

このようにして、写真をキャプチャし、カメラアプリの後にキャプチャした写真を表示できます。写真の下の保存ボタンを押すと、写真が html オブジェクトに直接返されます。このページを webview 内で開こうとすると、いくつかのトリックを行う必要があることがわかりました。ここまでは順調ですね。カメラを開いて写真を撮ることができます。ここに私の質問があります: どうすれば最後の写真を表示し、HTML5 のように html オブジェクトに保存できますか? 最後の写真を表示する方法が見つかりませんでした。HTML5 はこれを簡単に行いますが、私はネイティブ バージョンで立ち往生しています。助けてくれてありがとう...(ちなみに、ネイティブアプリのテストにはeclipseとgalaxy s3を使用しています。)

カメラアプリを開くコードは次のとおりです。

活動コード:

Intent i = new Intent(Intent.ACTION_PICK);
i.addCategory(Intent.CATEGORY_DEFAULT);
i.setType("image/*");       

FileUploadTest.this.startActivityForResult(Intent.createChooser(i,"File Chooser"), 
    FILECHOOSER_RESULTCODE);
4

1 に答える 1

0

誰もこの質問に興味を持っていないようです。とにかく、私は解決策を見つけたので、興味のある人のために共有したいと思いました.

  • メソッドの「スーパー」を呼び出すことを忘れないでください。

  • いずれの場合も「onReceiveValue」を呼び出すことを忘れないでください。呼び出さないと、アプリがクラッシュします

@Override
  protected void onActivityResult(int requestCode, int resultCode,
          Intent intent) {
      try {
          super.onActivityResult(requestCode, resultCode, intent);

          if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK)
              mUploadMessage.onReceiveValue(intent == null ? this.fileUri
                      : intent.getData());
          else
              mUploadMessage.onReceiveValue(null);
      } catch (Exception e) {
          Log.e("Error9", e.getLocalizedMessage());
          mUploadMessage.onReceiveValue(null);
      } finally {
          mUploadMessage = null;
      }
  }
于 2013-11-28T13:06:15.997 に答える