2010-11-25 22 views
0

にnullを返すようになりEXTRA_OUTPUTは、だから私は、次のコードを使用して、カメラのアクティビティを起動しようとしているデータは、G1

//In onActivityResult() 
... 
case REQUEST_CAMERA: 
    Intent intent = new Intent (CurrentScreen.this, NextScreen.this); 
    intent.putExtra(data); 
    startActivity(intent); 
    CurrentScreen.this.finish(); 
... 

ここでは、intent.putExtra(data)を使用して、小さなビットマップをインテントに添付して、それを次のアクティビティでサムネイルとして使用し、フルサイズのファイルを/sdcard/image.jpgとして保存します。

これはサムネイルのビットマップを小さくし、大きなファイルを保存するための(ドキュメントによる)予想される動作です。しかし、G1とErisでこれをテストすると、私はいくつかの奇妙な動作を見てきました。 G1で

  • のresultCodeはRESULT_OKを示しているが、結果ハンドラに返されるインテント・データがヌルです。
  • また、EXTRA_OUTPUTは完全に無視されているようですが、どこにイメージを保存しているのかわかりません。エリスオン

  • 目的のデータが戻ってくるOK
  • EXTRA_OUTPUTも無視されますが、それはそう/sdcard/dcim/100media

で通常のメディアストアに画像を保存しています私の質問はこれです:私は標準的なカメラの活動を使用して何をしようとしているための一貫した動作を得るための方法はありますか?私はそれを私が望むように動作させるためにカスタムアクティビティを書くことができますが、私はそのルートを避けることを好むでしょう。

答えて

0

私はJava/Android開発の世界で初めてのので、あなたの質問への回答はありません。しかし、私はあなたがやっていることに似た何かを試しています。ただ、写真を撮って電子メールに添付したいだけです。

私はあなたの例の一部を実装し、カメラが指定したファイルを作成したことを確認できました。また、次の画像に同じファイル名を使用して、

しかし、私が本当に言っていることは、おそらくpat/"sdcard/..."が実際に存在するかどうかをテストする必要があるということです。また、パスを次のアクティビティーに渡すことで、プロセスを単純化することもできます。

グッドラック、

ジェイミー・アーウィン

+0

は、私が実際に自分のアプリケーションで設定のチェックを持っていたが、私は短いものを維持するために、私の記事でその部分を省略しました。私がやらなければならないことは、私が矛盾を読んでいることから、異なるメーカーが携帯端末に含めるさまざまなカメラアプリケーションによるものであるため、自分自身のカメラアクティビティを書く可能性が最も高いです。それらのすべてがACTION_IMAGE_CAPTUREインテントを適切に処理するわけではありません。 – jvergeldedios

関連する問題