2016-11-27 9 views
0

2枚の写真を撮って2枚を比較するのに最適なAndroidアプリを作成しました。アプリはアプリ内で写真を撮るときに問題なく動作しますが、私の携帯電話から画像を読み込む。私は自分のカメラで撮影した写真をロードしたいと思います。それは私の電話に保存されています(具体的には、Androidデバイスの/DCIM/Camera)。私が持っているコードは本当に基本的なものですが、それは単に、以下で構成されていますAndroidから画像ファイルを読み取る

File file = new File(Environment.getExternalStorageDirectory(),imagePath); 
if(file.exists()) 
    Bitmap origBitmap = BitmapFactory.decodeFile(imagePath); 

しかし、origBitmapがnullである、と私はfileが正しくロードされていないからだと仮定しています。 file.exists()はfalseであるため、私は自分の権限がオフであると仮定します。しかし、私のマニフェストファイルには、私に許可があります:android.permission.READ_EXTERNAL_STORAGE。私はここで何が欠けているのか分かりません。助けてくれてありがとう。

+0

targetSdkは何ですか? –

+0

ターゲットは25、最小は15です – user3709119

答えて

1

ターゲットがAPI 25なので、ユーザーのメディアにアクセスするために実行時の確認チェックを追加する必要があります。 https://developer.android.com/training/permissions/requesting.html

また、することができます後藤Androidの設定 - >アプリ、アプリを見つけて、手動でメディアへのアプリのアクセス許可を付与します。

は、詳細についてはこちらの記事を参照してください。これにより問題は解決しますが、アプリの配布を計画している場合はランタイム権限チェックを追加することをお勧めします。

関連する問題