20

メソッド MediaStore.Images.Media.insertImage (ファイル名ではなくソースから挿入) を実行するコードがいくつかあります。このコードは、画像を MediaStore に保存し、画像の uri を返します。何らかの理由で失敗すると、uri ではなく null が返されることを知っています。この画像は多くの人によって何度もダウンロードされており、ときどきこのメソッドから null が返されます。私はこれが私に起こったことがないので、何が起こっているのかわかりません。これが起こる理由は何ですか?同じ問題に関する別の投稿がありますが、答えは MediaStore のソース コードへのリンクですが、そのリンクはリンクが利用できないというページに移動します。どんな助けでも大歓迎です。ありがとう。

SDカードを取り外した後、このエラーが発生したので、それが理由である可能性があることはわかっています。よくわかりませんが、カードがいっぱいになった場合にも発生すると思います. 他にも理由があるのではないかと考えているだけです。

4

8 に答える 8

9

MediaStore.Images.Media.insertImage は実際に外部ストレージにアクセスして画像を保存しています。

アプリが失敗する原因となる可能性があるいくつかの重要なリマインダー:

  1. マスストレージモードの場合、USB 接続は SD カードの使用をブロックします。

  2. SD カードにアクセスできない原因は他にもある可能性があるため、最初にファイル ブラウザを使用して SD カードにアクセスできることを確認してください。

  3. 権限が android.permission.WRITE_EXTERNAL_STORAGE で正しく構成されていることを確認してください

insertImage から null を取得していたため、完全を期すためにこれをここに投稿し、原因は1 でした。

于 2013-08-24T19:13:46.573 に答える
5

新しい SD カード イメージを使用してエミュレータでテストを実行しているときに、この問題に遭遇しました。/sdcard/Picturesで作成することで問題を解決できました

new File("/sdcard/Pictures").mkdirs();

于 2015-10-29T18:56:41.067 に答える