0

私は次の問題をしなければなりません。インテント チューザーを使用して、できるだけ多くのアプリに画像を共有したいと考えています。それを達成するには、2 つのオプションがあります。

  1. に画像を保存しますMediaStore。ただし、それは、ユーザーが許可しなくても、その画像がギャラリーに表示されることを意味します。

  2. または、 を使用して画像を共有しFileProviderます。ただし、FileProvider一部のアプリを使用すると機能せず、次の例外がスローされます。

java.lang.IllegalStateException: CursorWindow から行 0、列 0 を読み取ることができませんでした。Cursor からデータにアクセスする前に、Cursor が正しく初期化されていることを確認してください。android.database.CursorWindow.nativeGetLong(Native Method) で android.database.CursorWindow.getLong(CursorWindow.java:507) で android.database.AbstractWindowedCursor.getLong(AbstractWindowedCursor.java:75) で android.database.CursorWrapper.getLong (CursorWrapper.java:106) ehz.a (PG:175) で duj.a (PG:540) com.google.android.apps.photos.phone.SendContentActivity.onClick(PG:177) で com.android .internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166) で android.os.Handler.dispatchMessage(Handler.java:102) で android.os.

オプションを使用すると、ギャラリーから画像を非表示にして、他のすべてのアプリと画像を共有できるため、作業FileProviderは私にとって完璧です..nomedia

誰かがこれを解決できましたか?他のすべてのアプリからアクセスできる画像を共有する別のオプションはありますか?

ありがとう

4

1 に答える 1

0

問題を保存しました。私が使用Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)してサブディレクトリを作成したすべてのオプションの代わりに.nomedia、それは機能しました。

于 2013-11-22T11:19:41.430 に答える