0

Camera intent.getData()戻り値null、一部のデバイスではnullです。私は画像のウリのコードGETパス以下を試みた結果についてCamera intent.getData()一部のデバイスでnullを返します。主にandroid 7.0

スタートカメラ、

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, CAMERA_REQUEST); 

public static Uri getImageUri(Context inContext, Bitmap inImage) { 
     ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 
     inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes); 
     String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null); 
     return Uri.parse(path); 
    } 

それはイメージの私にウリを与えるだろうが、画質が貧弱になります。 助けていただければ幸いです。

答えて

1

Camera intent.getData()戻り値null、一部のデバイスでは。

すべてのカメラアプリに対してnullを返すことになっています。

私は、コードは "画像のURIのパスを取得しない" というイメージ

のウリの次のコードのgetパスを試してみました。文書化されていないランダムなファイルにBitmapを保存し、その内容を表すMediaStoreからUriを返します。

また、ByteArrayOutputStreamを作成するときにヒープスペースが無駄になり、JPEGを書き込んだり、すべて破棄したりします。

画質が悪くなる

あなたはあなたのサムネイル画像を与えるためにカメラアプリを尋ねたとして、画質は、そもそも不良でした。 EXTRA_OUTPUTを使用して、フル解像度の画像を保存する場所をカメラアプリケーションに通知し、その場所をonActivityResult()で使用します。 This sample appはこれを実証しています。

+0

外部メモリを書き込む権限を与え、実行時にアクセス許可を確認する –

+0

また、これをマニフェストファイルに追加します。android:largeHeap = "true" –

関連する問題