0

ユーザーがこのアプリにロードしたい画像を表示するプログラムを作成しました。ユーザーが画像を読み込みたい場合、使用するファイル エクスプローラーの種類を選択できます。

ここに画像の説明を入力

すべてが機能しますが、「ギャラリー」を選択して画像をマークすると機能しません。「ギャラリー」を選択した場合にのみ発生します。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);

    if(resultCode == RESULT_OK){
                 String path = data.getData().getPath();
                 try {
        loadedimage = BitmapFactory.decodeFile(sciezka_z_obrazem);
          }
                  catch (Exception e) {
                   }
            } [...]

ギャラリーから画像を選択すると、loadedimage が null になります。Dropbox または「マイ ファイル」を使用すると、すべて問題ありません。

4

2 に答える 2

0

私はあなたが使うべきだと思います

Uri mUri = data.getData();

Galleryの場合、返されるファイルの形式はfile://ではなくcontent://です。

したがって、URIでgetPathを実行するのではなく、URIを使用する必要があります

編集:URIを使用して以下のようにデコードします

InputStream is = getContentResolver().openInputStream(uri);

loadedimage = BitmapFactory.decodeStream(is)
于 2012-12-16T19:49:34.850 に答える
0

これを試してみてください。
ファイル filePath= 新しいファイル(パス);
次に、
Uri.fromFile(filePath)を使用します
。これにより、オープンエンドになる可能性のあるコンテンツが設定されます。

于 2012-12-17T20:49:58.807 に答える