私は主な機能がAPIを使用して写真を撮って、私が与えたパスに保存するプログラムを作った。さまざまなAndroid搭載端末で通常写真を撮るのはなぜ大変ですか?
しかし、エミュレータや携帯電話でGoogleの元のROMを使ってテストしたときとは違うものが、別の携帯電話で正しく表示されません。
理論的には、私がIntentへのパスを与えた場合、写真は電話機のデフォルトギャラリーに表示されませんが、MOTOでは写真は自分のパスとデフォルトの画像ディレクトリの両方に保存されます。サムスンでは、Intentのカメラから戻ったときに私のアプリが黙ってクラッシュする。また、いくつかの電話機でのみ、カメラアクティビティのメニューボタンを押してメニューを表示できます。さらに、カメラアクティビティの設定メニューで設定したサイズで写真を保存する人もいます。
これは、メーカーが携帯電話のROMをカスタマイズしてカメラアクティビティが異なる動作をするためです。
誰でもこのような状況を回避する方法を知っていますか?または、目的以外で写真を撮る他の方法がありますか"android.media.action.IMAGE_CAPTURE"
?
以下は、写真を撮る方法のコードです。
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(getpath()+"_.jpg")));
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, 0);